/* ───────────────────────────────────────────────────────────────────
   Atomurus — Remake 2026 design system
   One top navigation, Figtree everywhere, warm paper surfaces, green
   accent, generous radii. Loaded last on every public page, so it also
   re-skins legacy components that still ship their own stylesheets.
   Sections: 1 tokens · 2 base · 3 shell · 4 header · 5 footer ·
   6 primitives · 7 legacy skin · 8 pages (see remake-pages.css)
   ─────────────────────────────────────────────────────────────────── */

/* 1 ── tokens ─────────────────────────────────────────────────────── */
:root {
  --rm-bg: #F2EFE7;
  --rm-paper: #F8F5EC;
  --rm-surface: #ECE7DA;
  --rm-line: #D8D2BF;
  --rm-line-strong: #C6BFA8;
  --rm-ink: #14120E;
  --rm-ink-2: #58544A;
  --rm-ink-3: #8E8978;
  --rm-green: #1E6A50;
  --rm-green-hover: #185A44;
  --rm-green-soft: #DEE9DF;
  --rm-on-green: #F8F5EC;
  --rm-red: #9A4338;
  --rm-amber: #B96B0C;
  /* the dark "instrument" panels stay dark in both themes */
  --rm-dark: #14120E;
  --rm-dark-2: #1E1B16;
  --rm-dark-line: #2E2A22;
  --rm-dark-line-2: #3D372C;
  --rm-dark-ink: #F2EFE7;
  --rm-dark-muted: #B8B2AA;
  --rm-dark-dim: #908A7C;
  --rm-mint: #34A872;
  --rm-font: 'Figtree', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --rm-mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --rm-r-sm: 6px;
  --rm-r: 10px;
  --rm-r-md: 12px;
  --rm-r-lg: 16px;
  --rm-shadow-pop: 0 14px 36px rgba(20, 18, 14, .14);
  --rm-max: 1200px;
  --rm-gutter: 24px;
  --rm-header-h: 69px;

  /* legacy tokens re-pointed at the remake */
  --lc-sans: var(--rm-font);
  --lc-mono: var(--rm-mono);
  --lc-serif: var(--rm-font);
  --font-ui: var(--rm-font);
  --font-serif: var(--rm-font);
  --font-display: var(--rm-font);
  --font-element: var(--rm-font);
  --font-sans: var(--rm-font);
  --font-mono: var(--rm-mono);
  --radius: 10px;
}

html[data-theme="dark"] {
  --rm-bg: #0E0D0C;
  --rm-paper: #16140F;
  --rm-surface: #1E1B16;
  --rm-line: #2E2A22;
  --rm-line-strong: #3D372C;
  --rm-ink: #F2EFE7;
  --rm-ink-2: #B0A999;
  --rm-ink-3: #7D7767;
  --rm-green: #34A872;
  --rm-green-hover: #2C9163;
  --rm-green-soft: rgba(52, 168, 114, .16);
  --rm-on-green: #0E0D0C;
  --rm-red: #D0705F;
  --rm-dark: #0A0908;
  --rm-dark-2: #16140F;
}

/* 2 ── base ───────────────────────────────────────────────────────── */
html[data-rm] { background: var(--rm-bg); }
html[data-rm] body.rm.rm {
  margin: 0;
  background: var(--rm-bg);
  color: var(--rm-ink);
  font-family: var(--rm-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
html[data-rm] body.rm.rm h1, html[data-rm] body.rm.rm h2, html[data-rm] body.rm.rm h3, html[data-rm] body.rm.rm h4 {
  font-family: var(--rm-font);
  font-style: normal;
}
html[data-rm] body.rm.rm h1 { font-weight: 700; letter-spacing: -0.03em; }
html[data-rm] body.rm.rm h2 { font-weight: 700; letter-spacing: -0.02em; }
html[data-rm] body.rm.rm h3, html[data-rm] body.rm.rm h4 { font-weight: 700; letter-spacing: -0.01em; }
html[data-rm] body.rm.rm em, html[data-rm] body.rm.rm i { font-style: italic; }
html[data-rm] body.rm.rm code, html[data-rm] body.rm.rm kbd, html[data-rm] body.rm.rm samp, html[data-rm] body.rm.rm pre { font-family: var(--rm-mono); }
html[data-rm] body.rm.rm :focus-visible { outline: 2px solid var(--rm-green); outline-offset: 2px; }
.rm-sr {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.rm-container { max-width: var(--rm-max); margin: 0 auto; padding-left: var(--rm-gutter); padding-right: var(--rm-gutter); box-sizing: border-box; }

/* 3 ── shell: no sidebar, one column ──────────────────────────────── */
html[data-rm] body.rm.rm .ps-shell,
html[data-rm] body.rm.rm.lc-landing .ps-shell,
html[data-rm] body.rm.rm.lc-doc .ps-shell {
  display: flex !important;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  height: auto !important;
  overflow: visible !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
  grid-template-areas: none !important;
  background: var(--rm-bg);
}
html[data-rm] body.rm.rm .ps-shell > main.main,
html[data-rm] body.rm.rm .ps-shell > main.ps-main {
  flex: 1 0 auto;
  display: block;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0;
  padding: 0;
  height: auto !important;
  overflow: visible !important;
  grid-area: auto !important;
  background: transparent;
  border: 0;
}
html[data-rm] body.rm.rm .ps-shell > aside.ws-sidebar,
html[data-rm] body.rm.rm .ps-shell > aside[data-atomurus-sidebar],
html[data-rm] body.rm.rm .ws-drawer-backdrop,
html[data-rm] body.rm.rm .atomurus-nav-backdrop,
html[data-rm] body.rm.rm .data-strip,
html[data-rm] body.rm.rm .mobile-scroll-hint,
html[data-rm] body.rm.rm .mobile-menu-btn,
html[data-rm] body.rm.rm .lc-mobile-nav-btn { display: none !important; }
html[data-rm] body.rm.rm main.main > .content,
html[data-rm] body.rm.rm main.main > div:not([class]) > .content {
  max-width: var(--rm-max) !important;
  margin: 0 auto !important;
  padding: 48px var(--rm-gutter) 96px !important;
  box-sizing: border-box;
  width: 100% !important;
}
html[data-rm] body.rm.rm .main > .content > .content-inner { max-width: none; margin: 0; padding: 0; }

/* 4 ── header ─────────────────────────────────────────────────────── */
.rm-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--rm-bg);
  border-bottom: 1px solid var(--rm-line);
  font-family: var(--rm-font);
}
.rm-header-in {
  max-width: var(--rm-max);
  margin: 0 auto;
  padding: 10px var(--rm-gutter);
  display: flex;
  align-items: center;
  gap: 8px;
  box-sizing: border-box;
  min-height: 64px;
}
.rm-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-right: 16px;
  color: var(--rm-ink);
  text-decoration: none;
  flex: none;
}
.rm-brand:hover { color: var(--rm-ink); }
.rm-brand-mark { display: block; width: 34px; height: 34px; flex: none; object-fit: contain; }
.rm-brand-name { font-size: 19px; font-weight: 700; letter-spacing: -0.01em; }
.rm-navwrap {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
  overflow: hidden;
}
.rm-nav { display: flex; flex-wrap: nowrap; align-items: center; gap: 2px; flex: 1 1 auto; min-width: 0; }
.rm-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--rm-ink);
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
}
.rm-link:hover,
.rm-link.is-active,
.rm-dd.is-active > .rm-link { background: var(--rm-surface); color: var(--rm-ink); }
.rm-dd { position: relative; }
.rm-chev { transition: transform .15s ease; flex: none; }
.rm-dd:hover .rm-chev,
.rm-dd:focus-within .rm-chev,
.rm-dd.is-open .rm-chev { transform: rotate(180deg); }
.rm-dd-menu {
  position: absolute;
  left: 0;
  top: 100%;
  padding-top: 8px;
  display: none;
  z-index: 70;
  width: max-content;
  max-width: none !important; /* legacy lab CSS sets body * { max-width: 100% } */
}
.rm-dd-panel, .rm-dd-item, .rm-dd-item > span { max-width: none !important; }
.rm-dd:hover .rm-dd-menu,
.rm-dd:focus-within .rm-dd-menu,
.rm-dd.is-open .rm-dd-menu { display: block; }
.rm-dd-panel {
  width: 340px;
  box-sizing: border-box;
  background: var(--rm-paper);
  border: 1px solid var(--rm-line);
  border-radius: 14px;
  box-shadow: var(--rm-shadow-pop);
  padding: 8px;
  display: flex;
  flex-direction: column;
}
.rm-dd-panel.rm-dd-narrow { width: 300px; }
.rm-dd-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--rm-ink);
  text-decoration: none;
}
.rm-dd-item:hover, .rm-dd-item:focus-visible { background: var(--rm-surface); color: var(--rm-ink); outline: none; }
.rm-dd-ico {
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: var(--rm-surface);
  color: var(--rm-green);
  display: flex;
  align-items: center;
  justify-content: center;
}
.rm-dd-item:hover .rm-dd-ico { background: var(--rm-green-soft); }
.rm-dd-title { display: block; font-size: 15px; font-weight: 600; }
.rm-dd-desc { display: block; font-size: 13px; color: var(--rm-ink-2); margin-top: 1px; }
.rm-dd-foot {
  margin-top: 4px;
  padding: 12px;
  border-top: 1px solid var(--rm-line);
  font-size: 14px;
  font-weight: 600;
  color: var(--rm-green);
  text-decoration: none;
}
.rm-dd-foot:hover { color: var(--rm-ink); }
.rm-actions { display: flex; align-items: center; gap: 8px; flex: none; }
.rm-account { position: relative; display: flex; align-items: center; gap: 8px; min-width: 0; }
.rm-account-avatar { flex: none; }
.rm-account-name, .ws-userchip-name {
  display: block;
  min-width: 0;
  max-width: 16ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rm-header:has([data-atomurus-account-chip]:not(.is-guest-cta)) .rm-signin,
[data-rm-header]:has([data-atomurus-account-chip]:not(.is-guest-cta)) .rm-signin { display: none; }
.rm-cta.rm-btn { height: 44px; min-height: 44px; padding: 0 12px; font-size: 14px; }
.rm-cta:not(.is-guest-cta) {
  background: var(--rm-paper);
  color: var(--rm-ink);
  border-color: var(--rm-line-strong);
}
.rm-cta:not(.is-guest-cta):hover { background: var(--rm-surface); color: var(--rm-ink); }
.rm-cta svg { display: none; }
.rm-cta:not(.is-guest-cta) .rm-account-avatar { display: block; }
.rm-account .ps-plan-badge {
  font: 600 11px/1 var(--rm-font);
  letter-spacing: .04em;
  padding: 5px 8px;
  border-radius: 999px;
  background: var(--rm-green-soft);
  color: var(--rm-green);
  border: 0;
}
.rm-account .ps-account-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  background: var(--rm-paper);
  border: 1px solid var(--rm-line);
  border-radius: 14px;
  box-shadow: var(--rm-shadow-pop);
  padding: 8px;
  display: flex;
  flex-direction: column;
  z-index: 80;
}
.rm-account .ps-account-menu[hidden] { display: none; }
.rm-account .ps-account-menu a,
.rm-account .ps-account-menu button {
  display: block;
  text-align: left;
  padding: 10px 12px;
  border-radius: 10px;
  border: 0;
  background: none;
  color: var(--rm-ink);
  font: 500 14px/1.2 var(--rm-font);
  text-decoration: none;
  cursor: pointer;
}
.rm-account .ps-account-menu a:hover,
.rm-account .ps-account-menu button:hover { background: var(--rm-surface); }
.rm-account .ps-account-menu-sep { height: 1px; background: var(--rm-line); margin: 4px 0; }

.rm-header-tools {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: none;
  flex-shrink: 0;
  margin-inline-start: auto;
  min-width: 0;
  z-index: 2;
}
.rm-burger {
  display: none;
  margin-left: 0;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid var(--rm-line-strong);
  background: var(--rm-paper);
  color: var(--rm-ink);
  cursor: pointer;
}
.rm-burger .rm-burger-close { display: none; }
.rm-header.is-open .rm-burger .rm-burger-open { display: none; }
.rm-header.is-open .rm-burger .rm-burger-close { display: inline; }

.rm-header--minimal { position: static; border-bottom: 0; background: transparent; }
/* site search button: icon + label + "/" hint on wide screens, icon only below */
.rm-search-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  flex: none;
  border: 1px solid var(--rm-line-strong);
  border-radius: 999px;
  background: var(--rm-paper);
  color: var(--rm-ink-2);
  font: 500 14px/1 var(--rm-font);
  cursor: pointer;
}
.rm-search-btn:hover { background: var(--rm-surface); color: var(--rm-ink); }
.rm-search-btn:focus-visible { outline: 2px solid var(--rm-mint); outline-offset: 2px; }
.rm-header-in > .rm-theme-switch { margin-left: 0; }
.rm-header--minimal .rm-search-btn { display: none; }
@media (max-width: 480px) {
  .rm-header-in { gap: 8px; }
  .rm-brand { margin-right: 0; gap: 8px; }
  .rm-brand-name { display: none; }
}
/* the palette */
html.rm-cmdk-open { overflow: hidden; }
.rm-cmdk { position: fixed; inset: 0; z-index: 600; display: flex; justify-content: center; align-items: flex-start; padding: 12vh 16px 16px; font-family: var(--rm-font); }
.rm-cmdk[hidden] { display: none; }
.rm-cmdk-backdrop { position: absolute; inset: 0; background: rgba(20, 18, 14, .42); }
.rm-cmdk-panel { position: relative; width: min(640px, 100%); max-height: min(70vh, 640px); display: flex; flex-direction: column; border: 1px solid var(--rm-line); border-radius: 18px; background: var(--rm-paper); box-shadow: 0 24px 60px rgba(20, 18, 14, .28); overflow: hidden; }
.rm-cmdk-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--rm-line); color: var(--rm-ink-2); }
.rm-cmdk-input { flex: 1 1 auto; min-width: 0; height: 36px; border: 0; outline: 0; background: transparent; color: var(--rm-ink); font: 500 18px/1.2 var(--rm-font); }
.rm-cmdk-input::-webkit-search-cancel-button { display: none; }
html body .rm-cmdk .rm-cmdk-input, html body .rm-cmdk .rm-cmdk-input:focus { border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; padding: 0 !important; }
.rm-cmdk-head:focus-within { box-shadow: inset 0 -2px 0 var(--rm-green); }
.rm-cmdk-esc { flex: none; height: 28px; padding: 0 8px; border: 1px solid var(--rm-line-strong); border-radius: 7px; background: var(--rm-bg); color: var(--rm-ink-2); font: 600 12px/1 var(--rm-mono); cursor: pointer; }
.rm-cmdk-list { flex: 1 1 auto; overflow-y: auto; padding: 6px 8px 10px; overscroll-behavior: contain; }
.rm-cmdk-group { padding: 12px 10px 6px; font: 700 12px/1.2 var(--rm-font); color: var(--rm-ink-3); letter-spacing: .02em; }
.rm-cmdk-opt { display: flex; align-items: center; gap: 8px; border-radius: 12px; }
.rm-cmdk-opt.is-active { background: var(--rm-surface); }
.rm-cmdk-link { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 12px; padding: 8px 10px; color: var(--rm-ink); text-decoration: none; }
.rm-cmdk-link:hover { color: var(--rm-ink); }
.rm-cmdk-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rm-cmdk-main { font: 600 15.5px/1.25 var(--rm-font); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-cmdk-sub-t { font: 400 13px/1.3 var(--rm-font); color: var(--rm-ink-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rm-cmdk-tile { flex: none; display: flex; flex-direction: column; justify-content: space-between; width: 42px; height: 42px; box-sizing: border-box; padding: 4px 5px; border-radius: 9px; background: #E4DFD0; color: #14120E; border: 1px solid rgba(20, 18, 14, .1); }
.rm-cmdk-tile span { font: 500 10px/1 var(--rm-font); }
.rm-cmdk-tile b { font: 700 17px/1 var(--rm-font); letter-spacing: -.01em; }
.rm-cmdk-tile[data-cat="alc"] { background: #F1D6C6; } .rm-cmdk-tile[data-cat="alt"] { background: #F0E0BC; }
.rm-cmdk-tile[data-cat="tra"] { background: #E4DFD0; } .rm-cmdk-tile[data-cat="pos"] { background: #D9E0E2; }
.rm-cmdk-tile[data-cat="smt"] { background: #E1E6C9; } .rm-cmdk-tile[data-cat="nmt"] { background: #CFE4D5; }
.rm-cmdk-tile[data-cat="hal"] { background: #C9E0DC; } .rm-cmdk-tile[data-cat="nob"] { background: #E0D7E8; }
.rm-cmdk-tile[data-cat="lan"] { background: #EED5CF; } .rm-cmdk-tile[data-cat="act"] { background: #E6D0C6; }
.rm-cmdk-ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 9px; background: var(--rm-surface); color: var(--rm-green); font: 700 14px/1 var(--rm-font); }
.rm-cmdk-opt.is-active .rm-cmdk-ico { background: var(--rm-paper); }
.rm-cmdk-sub { flex: none; margin-right: 8px; padding: 6px 10px; border: 1px solid var(--rm-line-strong); border-radius: 999px; font: 600 12.5px/1 var(--rm-font); color: var(--rm-green); text-decoration: none; white-space: nowrap; }
.rm-cmdk-sub:hover { background: var(--rm-green-soft); color: var(--rm-green); }
.rm-cmdk-hint, .rm-cmdk-empty { margin: 10px 10px 4px; font: 400 14px/1.5 var(--rm-font); color: var(--rm-ink-2); }
.rm-cmdk-foot { margin: 0; padding: 10px 16px; border-top: 1px solid var(--rm-line); font: 400 12.5px/1.3 var(--rm-font); color: var(--rm-ink-3); }
@media (max-width: 640px) {
  .rm-cmdk { padding: 8px; }
  .rm-cmdk-panel { max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); border-radius: 16px; }
  .rm-cmdk-foot { display: none; }
  .rm-cmdk-input { font-size: 17px; }
}

/* light / dark switch: both options always visible, the active one inverted.
   The state comes from html[data-theme], so it is right before any script runs. */
.rm-theme-switch {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  padding: 0;
  flex: none;
  border: 1px solid var(--rm-line-strong);
  border-radius: 999px;
  background: var(--rm-paper);
}
.rm-theme-opt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--rm-ink-2);
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
}
.rm-theme-opt:hover { background: var(--rm-surface); color: var(--rm-ink); }
.rm-theme-opt:focus-visible { outline: 2px solid var(--rm-mint); outline-offset: 2px; }
html:not([data-theme="dark"]) .rm-theme-opt[data-rm-theme-set="light"],
html[data-theme="dark"] .rm-theme-opt[data-rm-theme-set="dark"] {
  background: var(--rm-ink);
  color: var(--rm-bg);
  box-shadow: 0 1px 3px rgba(20, 18, 14, .22);
}
.rm-header--minimal .rm-header-tools { display: none; }
@media (max-width: 1199px) {
  .rm-header-in > .rm-burger { margin-left: 0; }
}
.rm-header--minimal .rm-navwrap,
.rm-header--minimal .rm-burger { display: none !important; }

@media (max-width: 1199px) {
  .rm-header-in { min-height: 64px; padding-top: 10px; padding-bottom: 10px; }
  .rm-burger { display: inline-flex; }
  .rm-navwrap {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: var(--rm-header-offset, 65px);
    bottom: 0;
    z-index: 65;
    background: var(--rm-bg);
    border-top: 1px solid var(--rm-line);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px var(--rm-gutter) calc(24px + env(safe-area-inset-bottom, 0px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .rm-header-tools .rm-signin { display: none; }
  .rm-drawer-cta { font-weight: 600; }
  .rm-header.is-open .rm-navwrap { display: flex; }
  .rm-nav { flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 0; flex: none; }
  .rm-nav > .rm-link,
  .rm-dd > .rm-link {
    width: 100%;
    box-sizing: border-box;
    justify-content: space-between;
    padding: 14px 4px;
    border-radius: 0;
    border-bottom: 1px solid var(--rm-line);
    font-size: 17px;
    font-weight: 600;
    background: none !important;
  }
  .rm-nav > .rm-link.is-active,
  .rm-dd.is-active > .rm-link { color: var(--rm-green); }
  .rm-dd-menu { position: static; padding: 0; display: none; width: auto; }
  .rm-dd:hover .rm-dd-menu,
  .rm-dd:focus-within .rm-dd-menu { display: none; }
  .rm-dd.is-open .rm-dd-menu { display: block; }
  .rm-dd:hover .rm-chev, .rm-dd:focus-within .rm-chev { transform: none; }
  .rm-dd.is-open .rm-chev { transform: rotate(180deg); }
  .rm-dd-panel, .rm-dd-panel.rm-dd-narrow {
    width: auto;
    border: 0;
    box-shadow: none;
    background: transparent;
    padding: 6px 0 10px;
    border-bottom: 1px solid var(--rm-line);
    border-radius: 0;
  }
  .rm-dd-item { padding: 10px 4px; }
  .rm-dd-foot { border-top: 0; padding: 10px 4px; }
  .rm-actions {
    margin-top: 20px;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 10px;
  }
  .rm-actions .rm-signin {
    justify-content: center;
    border: 1px solid var(--rm-line-strong);
    border-radius: 10px;
    height: 48px;
    padding: 0 16px;
  }
  .rm-account { flex-direction: column; align-items: stretch; }
  .rm-cta.rm-btn { height: 48px; justify-content: center; font-size: 15px; }
  .rm-account .ps-account-menu { position: static; box-shadow: none; margin-top: 8px; }
  html.rm-nav-open, html.rm-nav-open body { overflow: hidden; }
}
@media (max-width: 420px) {
  :root { --rm-gutter: 16px; }
  .rm-brand { margin-right: 0; }
}

/* 5 ── footer ─────────────────────────────────────────────────────── */
.rm-footer { border-top: 1px solid var(--rm-line); background: var(--rm-bg); font-family: var(--rm-font); margin-top: auto; }
.rm-footer-in {
  max-width: var(--rm-max);
  margin: 0 auto;
  padding: 40px var(--rm-gutter) 48px;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: space-between;
  box-sizing: border-box;
}
.rm-footer-brand { max-width: 320px; }
.rm-footer-name { margin: 0; display: flex; align-items: center; gap: 8px; font-size: 17px; font-weight: 700; color: var(--rm-ink); }
.rm-footer-mark { display: block; width: 26px; height: 26px; object-fit: contain; }
.rm-footer-tag { margin: 8px 0 0; font-size: 14px; line-height: 1.55; color: var(--rm-ink-2); }
.rm-footer-nav { display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: flex-start; }
.rm-foot-link {
  color: var(--rm-ink-2);
  text-decoration: none;
  font: 400 14px/1.4 var(--rm-font);
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.rm-foot-link:hover { color: var(--rm-ink); }

/* 6 ── primitives ─────────────────────────────────────────────────── */
.rm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 48px;
  padding: 0 20px;
  border-radius: var(--rm-r);
  font: 600 15px/1 var(--rm-font);
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  box-sizing: border-box;
  transition: background-color .12s ease, border-color .12s ease, color .12s ease;
}
.rm-btn-primary { background: var(--rm-green); color: var(--rm-on-green); }
.rm-btn-primary:hover { background: var(--rm-green-hover); color: var(--rm-on-green); }
.rm-btn-ghost { background: transparent; color: var(--rm-ink); border-color: var(--rm-line-strong); }
.rm-btn-ghost:hover { background: var(--rm-surface); color: var(--rm-ink); }
.rm-btn-sm { height: 40px; padding: 0 14px; font-size: 14px; }
.rm-chip {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid var(--rm-line);
  background: var(--rm-paper);
  font: 500 13px/1 var(--rm-font);
  color: var(--rm-ink);
  cursor: pointer;
  text-decoration: none;
}
.rm-chip:hover { border-color: var(--rm-line-strong); color: var(--rm-ink); }
.rm-chip[aria-pressed="true"], .rm-chip.is-on { background: var(--rm-ink); color: var(--rm-bg); border-color: var(--rm-ink); }
.rm-card { background: var(--rm-paper); border: 1px solid var(--rm-line); border-radius: var(--rm-r-lg); }
.rm-card-dark { background: var(--rm-dark); color: var(--rm-dark-ink); border-radius: var(--rm-r-lg); }
.rm-kicker { margin: 0; font-size: 13px; font-weight: 600; color: var(--rm-green); }
.rm-muted { color: var(--rm-ink-2); }
.rm-link-arrow { font-weight: 600; font-size: 15px; color: var(--rm-green); text-decoration: none; }
.rm-link-arrow:hover { color: var(--rm-ink); }
.rm-input {
  box-sizing: border-box;
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border-radius: var(--rm-r-md);
  border: 1px solid var(--rm-line-strong);
  background: var(--rm-paper);
  font: 400 16px var(--rm-font);
  color: var(--rm-ink);
}
.rm-input::placeholder { color: var(--rm-ink-3); }
.rm-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid var(--rm-line);
  overflow-x: auto;
  scrollbar-width: none;
}
.rm-tabs::-webkit-scrollbar { display: none; }
.rm-tab {
  flex: none;
  padding: 12px 4px;
  margin: 0 10px -1px 0;
  border-bottom: 2px solid transparent;
  color: var(--rm-ink-2);
  font: 500 15px/1.2 var(--rm-font);
  text-decoration: none;
  white-space: nowrap;
}
.rm-tab:hover { color: var(--rm-ink); }
.rm-tab.is-active, .rm-tab[aria-current="page"] { color: var(--rm-ink); font-weight: 600; border-bottom-color: var(--rm-green); }
.rm-dl { margin: 0; }
.rm-dl > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid var(--rm-line);
  font-size: 15px;
}
.rm-dl dt { color: var(--rm-ink-2); }
.rm-dl dd { margin: 0; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums; }
.rm-mono { font-family: var(--rm-mono); }

/* 8 ── pages ──────────────────────────────────────────────────────── */

/* 8.1 home ─────────────────────────────────────────────────────────── */
.rm-home { color: var(--rm-ink); }
.rm-hero {
  padding-top: 72px;
  padding-bottom: 48px;
  display: flex;
  flex-wrap: wrap;
  gap: 48px;
  align-items: flex-end;
  justify-content: space-between;
}
.rm-hero-copy { flex: 1 1 560px; max-width: 700px; min-width: 0; }
html[data-rm] body.rm.rm .rm-hero-title {
  margin: 0;
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1.04;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--rm-ink);
}
.rm-hero-lead { margin: 20px 0 0; font-size: 19px; line-height: 1.55; color: var(--rm-ink-2); max-width: 580px; }
.rm-hero-search { flex: 1 1 360px; max-width: 420px; display: flex; flex-direction: column; gap: 14px; margin: 0; }
.rm-hero-search-label { font-size: 14px; font-weight: 600; }
.rm-search-field { position: relative; }
.rm-search-field > svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--rm-ink-2); pointer-events: none; }
.rm-search-field .rm-input { padding-left: 46px; }
.rm-try { margin: 0; font-size: 14px; color: var(--rm-ink-2); display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.rm-quick, .rm-link-arrow { display: inline-flex; align-items: center; min-height: 44px; }
.rm-quick { color: var(--rm-ink); text-decoration: none; border-bottom: 1px solid var(--rm-line-strong); padding-bottom: 1px; }
.rm-quick:hover { border-color: var(--rm-ink); color: var(--rm-ink); }

.rm-home-table-wrap { padding-bottom: 96px; }
.rm-home-table { padding: 24px; }
.rm-home-table-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
html[data-rm] body.rm.rm .rm-home-table-head h2 { margin: 0; font-size: 22px; letter-spacing: -0.01em; }
.rm-mini-scroll { overflow-x: auto; padding-bottom: 4px; }
.rm-mini {
  min-width: 900px;
  display: grid;
  grid-template-columns: repeat(18, minmax(0, 1fr));
  grid-template-rows: repeat(7, 58px) 14px repeat(2, 58px);
  gap: 4px;
}
.rm-tile {
  border: 1px solid rgba(20, 18, 14, .08);
  border-radius: 6px;
  padding: 5px 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  color: #14120E;
  text-decoration: none;
  min-width: 0;
  box-sizing: border-box;
  transition: transform .12s ease, opacity .15s ease;
}
.rm-tile[data-cat="alc"] { background: #F1D6C6; }
.rm-tile[data-cat="alt"] { background: #F0E0BC; }
.rm-tile[data-cat="tra"] { background: #E4DFD0; }
.rm-tile[data-cat="pos"] { background: #D9E0E2; }
.rm-tile[data-cat="smt"] { background: #E1E6C9; }
.rm-tile[data-cat="nmt"] { background: #CFE4D5; }
.rm-tile[data-cat="hal"] { background: #C9E0DC; }
.rm-tile[data-cat="nob"] { background: #E0D7E8; }
.rm-tile[data-cat="lan"] { background: #EED5CF; }
.rm-tile[data-cat="act"] { background: #E6D0C6; }
.rm-tile:hover {
  transform: translateY(-3px) scale(1.07);
  border-color: rgba(20, 18, 14, .3);
  box-shadow: 0 8px 18px rgba(20, 18, 14, .16);
  position: relative;
  z-index: 2;
  color: #14120E;
}
.rm-tile.is-dim { opacity: .25; }
.rm-tile.is-on { background: #1E6A50 !important; color: #F8F5EC; box-shadow: 0 0 0 2px var(--rm-paper), 0 0 0 4px #1E6A50; opacity: 1; }
.rm-tile-z { font-size: 10px; opacity: .7; font-variant-numeric: tabular-nums; }
.rm-tile-sym { font-size: 18px; font-weight: 600; line-height: 1; }
.rm-mini-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed var(--rm-line-strong);
  border-radius: 6px;
  font-size: 11px;
  color: var(--rm-ink-2);
}
.rm-mini-sel {
  grid-column: 3 / 13;
  grid-row: 1 / 4;
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 4px 12px 0 16px;
  min-width: 0;
}
.rm-mini-sel-tile {
  flex: 0 0 132px;
  height: 132px;
  box-sizing: border-box;
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #CFE4D5;
  color: #14120E;
  border: 1px solid rgba(20, 18, 14, .12);
  font-size: 14px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.rm-mini-sel-sym { font-size: 52px; font-weight: 700; line-height: 1; letter-spacing: -0.02em; }
.rm-mini-sel-tile > span:last-child { font-size: 13px; opacity: .8; font-weight: 400; }
.rm-mini-sel-info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rm-mini-sel-info p { margin: 0; }
.rm-mini-sel-name { font-size: 30px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.rm-mini-sel-where { font-size: 15px; color: var(--rm-ink-2); }
.rm-mini-sel-actions { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.rm-mini-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--rm-line); }
.rm-chip-dot { width: 10px; height: 10px; border-radius: 3px; border: 1px solid rgba(20, 18, 14, .2); flex: none; }

.rm-home-tools { padding-bottom: 96px; }
html[data-rm] body.rm.rm .rm-section-title { margin: 0 0 8px; font-size: 32px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; }
.rm-section-lead { margin: 0 0 32px; font-size: 17px; color: var(--rm-ink-2); max-width: 560px; line-height: 1.5; }
.rm-tools-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr)); gap: 20px; }
.rm-tool { padding: 28px; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
html[data-rm] body.rm.rm .rm-tool h3 { margin: 0; font-size: 20px; }
.rm-tool-lead { margin: 6px 0 0; font-size: 15px; color: var(--rm-ink-2); line-height: 1.45; }
.rm-tool-molar { gap: 20px; }
.rm-tool-molar .rm-tool-lead { color: var(--rm-dark-muted); }
.rm-tool-formula {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 52px;
  padding: 0 16px;
  border-radius: 10px;
  background: var(--rm-dark-2);
  border: 1px solid var(--rm-dark-line-2);
  color: var(--rm-dark-ink);
  text-decoration: none;
  font-size: 18px;
  font-weight: 500;
}
.rm-tool-formula:hover { color: var(--rm-dark-ink); border-color: var(--rm-dark-dim); }
.rm-tool-enter { font-size: 13px; color: var(--rm-dark-dim); font-family: var(--rm-font); }
.rm-tool-rows { display: flex; flex-direction: column; font-size: 15px; font-variant-numeric: tabular-nums; }
.rm-tool-rows > div { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--rm-dark-line); }
.rm-tool-rows .rm-dim { color: var(--rm-dark-dim); }
.rm-tool-rows .rm-tool-total { align-items: baseline; padding: 14px 0 0; border-bottom: 0; }
.rm-tool-total > span:first-child { color: var(--rm-dark-muted); }
.rm-tool-total > span:last-child { font-size: 28px; font-weight: 700; color: var(--rm-mint); }
.rm-tool-total small { font-size: 15px; font-weight: 500; }
.rm-tool-link { color: var(--rm-dark-ink); font-weight: 600; font-size: 15px; margin-top: auto; }
.rm-tool-link:hover { color: var(--rm-mint); }
.rm-tool-stage {
  background: var(--rm-surface);
  border-radius: 12px;
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-decoration: none;
  overflow: hidden;
}
.rm-tool-stage svg { max-width: 100%; height: auto; }
.rm-eth-bond { stroke: var(--rm-ink-2); }
.rm-eth-h circle { fill: var(--rm-paper); stroke: var(--rm-line-strong); }
.rm-eth-c { fill: var(--rm-ink); }
.rm-tool-stage-cap { position: absolute; left: 14px; bottom: 12px; font-size: 13px; font-weight: 500; color: var(--rm-ink-2); }
.rm-tool-foot { margin-top: auto; }
.rm-tool-read { gap: 0; }
.rm-tool-read .rm-tool-lead { margin-bottom: 16px; }
.rm-row-link {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid var(--rm-line);
  color: var(--rm-ink);
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
}
.rm-row-link small { font-size: 13px; font-weight: 400; color: var(--rm-ink-2); flex: none; }
.rm-row-link:hover { color: var(--rm-green); }
.rm-tool-foot-rule { padding-top: 16px; border-top: 1px solid var(--rm-line); }

.rm-home-plans { padding-bottom: 96px; display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.rm-plans-copy { flex: 1 1 320px; max-width: 400px; }
.rm-plans-copy p { margin: 14px 0 0; font-size: 16px; line-height: 1.55; color: var(--rm-ink-2); }
.rm-plans-grid { flex: 999 1 560px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 16px; min-width: 0; }
.rm-plan { border: 1px solid var(--rm-line); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.rm-plan p { margin: 0; }
.rm-plan-name { font-size: 15px; font-weight: 600; }
.rm-plan-price { font-size: 36px; font-weight: 700; letter-spacing: -0.02em; }
.rm-plan-price small { font-size: 16px; font-weight: 500; color: var(--rm-ink-2); letter-spacing: 0; }
.rm-plan-copy { font-size: 15px; line-height: 1.55; color: var(--rm-ink-2); }
.rm-plan-eq { margin-top: -4px; font-size: 14px; font-weight: 600; color: var(--rm-green); }
.rm-plan .rm-btn { margin-top: 8px; }
.rm-plan-pro { border: 2px solid var(--rm-green); background: var(--rm-green-soft); padding: 23px; }
.rm-plan-pro .rm-plan-name { color: var(--rm-green); }
.rm-plan-pro .rm-plan-copy { color: var(--rm-ink); opacity: .85; }

@media (max-width: 720px) {
  .rm-hero { padding-top: 40px; gap: 32px; }
  .rm-hero-lead { font-size: 17px; }
  .rm-home-table { padding: 16px; }
  .rm-home-table-wrap, .rm-home-tools, .rm-home-plans { padding-bottom: 64px; }
  html[data-rm] body.rm.rm .rm-section-title { font-size: 26px; }
  .rm-tool { padding: 22px; }
}

/* 8.2 element page ─────────────────────────────────────────────────── */
html[data-rm] body.rm.rm main.main > .content.rm-el { padding-top: 32px !important; }
.rm-crumbs { font-size: 14px; color: var(--rm-ink-2); margin-bottom: 32px; }
.rm-crumbs a { color: var(--rm-ink-2); }
.rm-crumbs a:hover { color: var(--rm-ink); }
.rm-crumbs-here { color: var(--rm-ink); }
.rm-el-hero {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: flex-end;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--rm-line);
}
.rm-el-tile {
  flex: none;
  width: 188px;
  height: 188px;
  box-sizing: border-box;
  border-radius: 18px;
  border: 1px solid rgba(20, 18, 14, .12);
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #14120E;
  background: #E4DFD0;
}
.rm-el-tile[data-cat="alc"], .rm-mini-sel-tile[data-cat="alc"] { background: #F1D6C6; }
.rm-el-tile[data-cat="alt"] { background: #F0E0BC; }
.rm-el-tile[data-cat="tra"] { background: #E4DFD0; }
.rm-el-tile[data-cat="pos"] { background: #D9E0E2; }
.rm-el-tile[data-cat="smt"] { background: #E1E6C9; }
.rm-el-tile[data-cat="nmt"] { background: #CFE4D5; }
.rm-el-tile[data-cat="hal"] { background: #C9E0DC; }
.rm-el-tile[data-cat="nob"] { background: #E0D7E8; }
.rm-el-tile[data-cat="lan"] { background: #EED5CF; }
.rm-el-tile[data-cat="act"] { background: #E6D0C6; }
.rm-el-tile-z { font-size: 18px; font-weight: 500; }
.rm-el-tile-sym { font-size: 84px; font-weight: 700; line-height: .9; letter-spacing: -0.03em; }
.rm-el-tile-mass { font-size: 15px; opacity: .8; font-variant-numeric: tabular-nums; }
.rm-el-head { flex: 1 1 420px; min-width: 0; }
.rm-el-kicker { margin: 0 0 6px; font-size: 15px; }
html[data-rm] body.rm.rm .rm-el-head h1.lc-el-name {
  margin: 0;
  font-size: clamp(44px, 6vw, 72px);
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--rm-ink);
  font-family: var(--rm-font);
}
.rm-el-lead { margin: 16px 0 0; font-size: 18px; line-height: 1.55; color: var(--rm-ink-2); max-width: 620px; }
.rm-el-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rm-save-slot:empty { display: none; }
.rm-el-body { display: flex; flex-wrap: wrap; gap: 56px; padding-top: 40px; }
.rm-el-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 48px; }
.rm-el-aside { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 24px; align-self: flex-start; }
html[data-rm] body.rm.rm .rm-el-sec h2,
html[data-rm] body.rm.rm .rm-el .lc-el-content-h { margin: 0 0 12px; font-size: 22px; font-weight: 700; letter-spacing: -0.01em; color: var(--rm-ink); font-family: var(--rm-font); text-transform: none; }
.rm-el-sec-lead { margin: 0 0 20px; font-size: 16px; line-height: 1.6; color: var(--rm-ink-2); max-width: 620px; }
.rm-allo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.rm-allo {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px;
  border-radius: 12px;
  border: 1px solid var(--rm-line);
  background: var(--rm-paper);
  color: var(--rm-ink);
  text-decoration: none;
}
.rm-allo:hover { border-color: var(--rm-green); color: var(--rm-ink); }
.rm-allo-n { font-size: 16px; font-weight: 600; }
.rm-allo-d { font-size: 14px; color: var(--rm-ink-2); }
.rm-iso-list { display: flex; flex-direction: column; gap: 14px; max-width: 620px; }
.rm-iso-row { display: flex; justify-content: space-between; font-size: 15px; margin-bottom: 6px; }
.rm-iso-pct { font-variant-numeric: tabular-nums; }
.rm-iso-bar { height: 8px; border-radius: 4px; background: var(--rm-surface); overflow: hidden; }
.rm-iso-bar > span { display: block; height: 8px; min-width: 6px; border-radius: 4px; background: var(--rm-green); }
.rm-iso-note { margin: 4px 0 0; font-size: 15px; line-height: 1.6; color: var(--rm-ink-2); }
.rm-iso-note strong { color: var(--rm-ink); }
html[data-rm] body.rm.rm .rm-el .lc-el-desc-block { display: none; }
html[data-rm] body.rm.rm .rm-el .lc-el-content { display: flex; flex-direction: column; gap: 40px; max-width: 680px; margin: 0; padding: 0; border: 0; }
html[data-rm] body.rm.rm .rm-el .lc-el-content-section { margin: 0; padding: 0; border: 0; display: block; }
html[data-rm] body.rm.rm .rm-el .lc-el-content-body { margin: 0; font-size: 16px; line-height: 1.65; color: var(--rm-ink); max-width: 620px; }
.rm-pager { display: flex; flex-wrap: wrap; gap: 12px; }
.rm-pager > * { flex: 1 1 220px; }
.rm-pager-link {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 16px 20px;
  border-radius: 12px;
  border: 1px solid var(--rm-line);
  color: var(--rm-ink);
  text-decoration: none;
}
.rm-pager-link:hover { border-color: var(--rm-line-strong); background: var(--rm-paper); color: var(--rm-ink); }
.rm-pager-next { text-align: right; }
.rm-pager-dir { font-size: 13px; color: var(--rm-ink-2); }
.rm-pager-name { font-size: 17px; font-weight: 600; }
.rm-el-facts { padding: 8px 24px 16px; }
html[data-rm] body.rm.rm .rm-el-facts h2 { margin: 12px 0 8px; font-size: 17px; font-weight: 700; }
.rm-el-facts .rm-dl > div:first-child { border-top-color: var(--rm-line); }
.rm-el-facts .rm-dd-mono, .rm-el-facts dd.rm-mono { font-weight: 500; font-size: 14px; }
.rm-el-sources { margin: 12px 0 0; font-size: 13px; color: var(--rm-ink-2); }
.rm-el-cta { padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.rm-el-cta p { margin: 0; }
.rm-el-cta-title { font-size: 17px; font-weight: 700; }
.rm-el-cta-copy { font-size: 15px; line-height: 1.5; color: var(--rm-dark-muted); }
.rm-el-cta a { color: var(--rm-mint); font-weight: 600; font-size: 15px; }
.rm-el-cta a:hover { color: var(--rm-dark-ink); }
/* study-save toolbar inside the hero actions */
.rm-save-slot #atomurus-study-save { margin: 0; padding: 0; border: 0; background: none; font-family: var(--rm-font); }
.rm-save-slot #atomurus-study-save * { font-family: var(--rm-font); }
.rm-save-slot .study-save-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin: 0; }
.rm-save-slot button {
  height: 48px;
  padding: 0 18px;
  border-radius: var(--rm-r);
  border: 1px solid var(--rm-line-strong);
  background: transparent;
  color: var(--rm-ink);
  font: 600 15px/1 var(--rm-font);
  cursor: pointer;
}
.rm-save-slot button:hover { background: var(--rm-surface); }
@media (max-width: 720px) {
  .rm-el-hero { gap: 24px; padding-bottom: 32px; }
  .rm-el-tile { width: 132px; height: 132px; padding: 12px 14px; border-radius: 14px; }
  .rm-el-tile-sym { font-size: 56px; }
  .rm-el-lead { font-size: 17px; }
  .rm-el-body { gap: 40px; padding-top: 32px; }
}

/* page scroll: the legacy app-like shell locked html/body to 100vh */
/* overflow-x: clip (not hidden) so html/body never become scroll containers:
   that keeps the header's position: sticky working. */
html[data-rm], html[data-rm] body.rm.rm { height: auto !important; min-height: 100%; overflow-x: clip !important; overflow-y: visible !important; }
html[data-rm] body.rm.rm .main > .content { overflow: visible !important; height: auto !important; }
html[data-rm] body.rm.rm .rm-el-head h1.lc-el-name, html[data-rm] body.rm.rm .rm-hero-title { font-weight: 700 !important; }

/* 7 ── legacy skin: shared page parts of tool pages ───────────────── */
html[data-rm] body.rm.rm .ph-kicker { display: none !important; }
html[data-rm] body.rm.rm .ph-title {
  margin: 0 !important;
  font: 700 clamp(34px, 4.4vw, 44px)/1.08 var(--rm-font) !important;
  letter-spacing: -0.03em !important;
  color: var(--rm-ink) !important;
}
html[data-rm] body.rm.rm .ph-title em, html[data-rm] body.rm.rm .ph-title i { font-style: normal; color: inherit; }
html[data-rm] body.rm.rm .ph-desc {
  margin: 10px 0 0 !important;
  font: 400 17px/1.5 var(--rm-font) !important;
  color: var(--rm-ink-2) !important;
  max-width: 640px;
}
html[data-rm] body.rm.rm .pt-tabs,
html[data-rm] body.rm.rm .vz-tabs {
  display: flex !important;
  gap: 4px !important;
  margin: 28px 0 28px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rm-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow-x: auto;
  scrollbar-width: none;
  width: auto !important;
}
html[data-rm] body.rm.rm .pt-tabs::-webkit-scrollbar, html[data-rm] body.rm.rm .vz-tabs::-webkit-scrollbar { display: none; }
html[data-rm] body.rm.rm .pt-tab,
html[data-rm] body.rm.rm .vz-tab {
  flex: none;
  display: inline-flex !important;
  align-items: center;
  gap: 0 !important;
  padding: 12px 4px !important;
  margin: 0 12px -1px 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--rm-ink-2) !important;
  font: 500 15px/1.2 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  min-height: 0 !important;
}
html[data-rm] body.rm.rm .pt-tab:hover, html[data-rm] body.rm.rm .vz-tab:hover { color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .pt-tab.active, html[data-rm] body.rm.rm .pt-tab[aria-current="page"],
html[data-rm] body.rm.rm .vz-tab.active, html[data-rm] body.rm.rm .vz-tab[aria-current="page"] {
  color: var(--rm-ink) !important;
  font-weight: 600 !important;
  border-bottom-color: var(--rm-green) !important;
}
html[data-rm] body.rm.rm .pt-tab svg, html[data-rm] body.rm.rm .vz-tab svg, html[data-rm] body.rm.rm .vz-tab .vz-num { display: none !important; }
html[data-rm] body.rm.rm .pt-solver-cta { display: none; }

/* buttons, pills and panels used across legacy tools */
html[data-rm] body.rm.rm .pill, html[data-rm] body.rm.rm .legend-item, html[data-rm] body.rm.rm .chip {
  border-radius: 999px !important;
  font-family: var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[data-rm] body.rm.rm .panel, html[data-rm] body.rm.rm .card, html[data-rm] body.rm.rm .lc-card {
  border-radius: var(--rm-r-lg);
}
html[data-rm] body.rm.rm input[type="text"], html[data-rm] body.rm.rm input[type="search"], html[data-rm] body.rm.rm input[type="number"],
html[data-rm] body.rm.rm input[type="email"], html[data-rm] body.rm.rm input[type="password"], html[data-rm] body.rm.rm select, html[data-rm] body.rm.rm textarea {
  font-family: var(--rm-font);
  border-radius: var(--rm-r);
}

/* cookie banner */
html[data-rm] body.rm.rm #cookie-consent, html[data-rm] body.rm.rm .cookie-consent, html[data-rm] body.rm.rm .cc-bar, html[data-rm] body.rm.rm [data-consent-bar] {
  font-family: var(--rm-font);
}

/* 8.3 periodic table ───────────────────────────────────────────────── */
html[data-rm] body.rm.rm .ptable { gap: 4px; }
html[data-rm] body.rm.rm .ptable .el {
  align-items: flex-start !important;
  justify-content: flex-end !important;
  padding: 5px 6px 5px !important;
  border-radius: 6px !important;
  border: 1px solid rgba(20, 18, 14, .08) !important;
  color: #14120E; /* no !important: heatmap modes paint their own inline colours */
  box-shadow: none;
}
html[data-rm] body.rm.rm .ptable .el:hover {
  transform: translateY(-3px) scale(1.07);
  border-color: rgba(20, 18, 14, .3) !important;
  box-shadow: 0 8px 18px rgba(20, 18, 14, .16);
}
html[data-rm] body.rm.rm .ptable .el-z { top: 5px; left: 6px; font: 400 10px/1 var(--rm-font); opacity: .7; }
html[data-rm] body.rm.rm .ptable .el-sym { font: 700 20px/1 var(--rm-font) !important; letter-spacing: -0.01em; }
html[data-rm] body.rm.rm .ptable .el-name { font: 400 9px/1.1 var(--rm-font); opacity: .75; margin-top: 3px; text-align: left; max-width: 100%; }
html[data-rm] body.rm.rm .ptable .el-mass, html[data-rm] body.rm.rm .ptable .el-shells, html[data-rm] body.rm.rm .ptable .el-state { display: none !important; }
html[data-rm] body.rm.rm .legend { gap: 8px !important; }
html[data-rm] body.rm.rm .legend-item {
  height: 36px;
  padding: 0 12px !important;
  border: 1px solid var(--rm-line) !important;
  background: var(--rm-paper) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--rm-ink) !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px !important;
}
html[data-rm] body.rm.rm .legend-item.active, html[data-rm] body.rm.rm .legend-item.is-active { background: var(--rm-ink) !important; color: var(--rm-bg) !important; border-color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .legend-dot { width: 10px !important; height: 10px !important; border-radius: 3px !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="nonmetal"] .legend-dot, html[data-rm] body.rm.rm .legend-item[data-cat="polyatomic"] .legend-dot { background: #CFE4D5 !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="noble"] .legend-dot { background: #E0D7E8 !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="alkali"] .legend-dot { background: #F1D6C6 !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="alkaline"] .legend-dot { background: #F0E0BC !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="metalloid"] .legend-dot { background: #E1E6C9 !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="posttrans"] .legend-dot { background: #D9E0E2 !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="transition"] .legend-dot { background: #E4DFD0 !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="lanthanide"] .legend-dot { background: #EED5CF !important; }
html[data-rm] body.rm.rm .legend-item[data-cat="actinide"] .legend-dot { background: #E6D0C6 !important; }


/* @rm-tiles:start (generated by tools/build-remake-data.js) */
html[data-rm] body.rm.rm .ptable .el[data-z="3"],
html[data-rm] body.rm.rm .ptable .el[data-z="11"],
html[data-rm] body.rm.rm .ptable .el[data-z="19"],
html[data-rm] body.rm.rm .ptable .el[data-z="37"],
html[data-rm] body.rm.rm .ptable .el[data-z="55"],
html[data-rm] body.rm.rm .ptable .el[data-z="87"] { background: #F1D6C6; }
html[data-rm] body.rm.rm .ptable .el[data-z="4"],
html[data-rm] body.rm.rm .ptable .el[data-z="12"],
html[data-rm] body.rm.rm .ptable .el[data-z="20"],
html[data-rm] body.rm.rm .ptable .el[data-z="38"],
html[data-rm] body.rm.rm .ptable .el[data-z="56"],
html[data-rm] body.rm.rm .ptable .el[data-z="88"] { background: #F0E0BC; }
html[data-rm] body.rm.rm .ptable .el[data-z="21"],
html[data-rm] body.rm.rm .ptable .el[data-z="22"],
html[data-rm] body.rm.rm .ptable .el[data-z="23"],
html[data-rm] body.rm.rm .ptable .el[data-z="24"],
html[data-rm] body.rm.rm .ptable .el[data-z="25"],
html[data-rm] body.rm.rm .ptable .el[data-z="26"],
html[data-rm] body.rm.rm .ptable .el[data-z="27"],
html[data-rm] body.rm.rm .ptable .el[data-z="28"],
html[data-rm] body.rm.rm .ptable .el[data-z="29"],
html[data-rm] body.rm.rm .ptable .el[data-z="30"],
html[data-rm] body.rm.rm .ptable .el[data-z="39"],
html[data-rm] body.rm.rm .ptable .el[data-z="40"],
html[data-rm] body.rm.rm .ptable .el[data-z="41"],
html[data-rm] body.rm.rm .ptable .el[data-z="42"],
html[data-rm] body.rm.rm .ptable .el[data-z="43"],
html[data-rm] body.rm.rm .ptable .el[data-z="44"],
html[data-rm] body.rm.rm .ptable .el[data-z="45"],
html[data-rm] body.rm.rm .ptable .el[data-z="46"],
html[data-rm] body.rm.rm .ptable .el[data-z="47"],
html[data-rm] body.rm.rm .ptable .el[data-z="48"],
html[data-rm] body.rm.rm .ptable .el[data-z="72"],
html[data-rm] body.rm.rm .ptable .el[data-z="73"],
html[data-rm] body.rm.rm .ptable .el[data-z="74"],
html[data-rm] body.rm.rm .ptable .el[data-z="75"],
html[data-rm] body.rm.rm .ptable .el[data-z="76"],
html[data-rm] body.rm.rm .ptable .el[data-z="77"],
html[data-rm] body.rm.rm .ptable .el[data-z="78"],
html[data-rm] body.rm.rm .ptable .el[data-z="79"],
html[data-rm] body.rm.rm .ptable .el[data-z="80"],
html[data-rm] body.rm.rm .ptable .el[data-z="104"],
html[data-rm] body.rm.rm .ptable .el[data-z="105"],
html[data-rm] body.rm.rm .ptable .el[data-z="106"],
html[data-rm] body.rm.rm .ptable .el[data-z="107"],
html[data-rm] body.rm.rm .ptable .el[data-z="108"],
html[data-rm] body.rm.rm .ptable .el[data-z="109"],
html[data-rm] body.rm.rm .ptable .el[data-z="110"],
html[data-rm] body.rm.rm .ptable .el[data-z="111"],
html[data-rm] body.rm.rm .ptable .el[data-z="112"] { background: #E4DFD0; }
html[data-rm] body.rm.rm .ptable .el[data-z="13"],
html[data-rm] body.rm.rm .ptable .el[data-z="31"],
html[data-rm] body.rm.rm .ptable .el[data-z="49"],
html[data-rm] body.rm.rm .ptable .el[data-z="50"],
html[data-rm] body.rm.rm .ptable .el[data-z="81"],
html[data-rm] body.rm.rm .ptable .el[data-z="82"],
html[data-rm] body.rm.rm .ptable .el[data-z="83"],
html[data-rm] body.rm.rm .ptable .el[data-z="84"],
html[data-rm] body.rm.rm .ptable .el[data-z="113"],
html[data-rm] body.rm.rm .ptable .el[data-z="114"],
html[data-rm] body.rm.rm .ptable .el[data-z="115"],
html[data-rm] body.rm.rm .ptable .el[data-z="116"] { background: #D9E0E2; }
html[data-rm] body.rm.rm .ptable .el[data-z="5"],
html[data-rm] body.rm.rm .ptable .el[data-z="14"],
html[data-rm] body.rm.rm .ptable .el[data-z="32"],
html[data-rm] body.rm.rm .ptable .el[data-z="33"],
html[data-rm] body.rm.rm .ptable .el[data-z="51"],
html[data-rm] body.rm.rm .ptable .el[data-z="52"] { background: #E1E6C9; }
html[data-rm] body.rm.rm .ptable .el[data-z="1"],
html[data-rm] body.rm.rm .ptable .el[data-z="6"],
html[data-rm] body.rm.rm .ptable .el[data-z="7"],
html[data-rm] body.rm.rm .ptable .el[data-z="8"],
html[data-rm] body.rm.rm .ptable .el[data-z="15"],
html[data-rm] body.rm.rm .ptable .el[data-z="16"],
html[data-rm] body.rm.rm .ptable .el[data-z="34"] { background: #CFE4D5; }
html[data-rm] body.rm.rm .ptable .el[data-z="9"],
html[data-rm] body.rm.rm .ptable .el[data-z="17"],
html[data-rm] body.rm.rm .ptable .el[data-z="35"],
html[data-rm] body.rm.rm .ptable .el[data-z="53"],
html[data-rm] body.rm.rm .ptable .el[data-z="85"],
html[data-rm] body.rm.rm .ptable .el[data-z="117"] { background: #C9E0DC; }
html[data-rm] body.rm.rm .ptable .el[data-z="2"],
html[data-rm] body.rm.rm .ptable .el[data-z="10"],
html[data-rm] body.rm.rm .ptable .el[data-z="18"],
html[data-rm] body.rm.rm .ptable .el[data-z="36"],
html[data-rm] body.rm.rm .ptable .el[data-z="54"],
html[data-rm] body.rm.rm .ptable .el[data-z="86"],
html[data-rm] body.rm.rm .ptable .el[data-z="118"] { background: #E0D7E8; }
html[data-rm] body.rm.rm .ptable .el[data-z="57"],
html[data-rm] body.rm.rm .ptable .el[data-z="58"],
html[data-rm] body.rm.rm .ptable .el[data-z="59"],
html[data-rm] body.rm.rm .ptable .el[data-z="60"],
html[data-rm] body.rm.rm .ptable .el[data-z="61"],
html[data-rm] body.rm.rm .ptable .el[data-z="62"],
html[data-rm] body.rm.rm .ptable .el[data-z="63"],
html[data-rm] body.rm.rm .ptable .el[data-z="64"],
html[data-rm] body.rm.rm .ptable .el[data-z="65"],
html[data-rm] body.rm.rm .ptable .el[data-z="66"],
html[data-rm] body.rm.rm .ptable .el[data-z="67"],
html[data-rm] body.rm.rm .ptable .el[data-z="68"],
html[data-rm] body.rm.rm .ptable .el[data-z="69"],
html[data-rm] body.rm.rm .ptable .el[data-z="70"],
html[data-rm] body.rm.rm .ptable .el[data-z="71"] { background: #EED5CF; }
html[data-rm] body.rm.rm .ptable .el[data-z="89"],
html[data-rm] body.rm.rm .ptable .el[data-z="90"],
html[data-rm] body.rm.rm .ptable .el[data-z="91"],
html[data-rm] body.rm.rm .ptable .el[data-z="92"],
html[data-rm] body.rm.rm .ptable .el[data-z="93"],
html[data-rm] body.rm.rm .ptable .el[data-z="94"],
html[data-rm] body.rm.rm .ptable .el[data-z="95"],
html[data-rm] body.rm.rm .ptable .el[data-z="96"],
html[data-rm] body.rm.rm .ptable .el[data-z="97"],
html[data-rm] body.rm.rm .ptable .el[data-z="98"],
html[data-rm] body.rm.rm .ptable .el[data-z="99"],
html[data-rm] body.rm.rm .ptable .el[data-z="100"],
html[data-rm] body.rm.rm .ptable .el[data-z="101"],
html[data-rm] body.rm.rm .ptable .el[data-z="102"],
html[data-rm] body.rm.rm .ptable .el[data-z="103"] { background: #E6D0C6; }
/* @rm-tiles:end */
html[data-rm] body.rm.rm .ptable { --el-cell: 60px; gap: 4px !important; min-width: calc(60px * 18 + 4px * 17); grid-template-rows: repeat(10, 64px) !important; }
html[data-rm] body.rm.rm .fblock-connector-svg { display: none !important; }
html[data-rm] body.rm.rm .aco-manage-wrap, html[data-rm] body.rm.rm .aco-manage-cookies:not(.rm-foot-link) { display: none !important; }

/* 8.4 articles index ───────────────────────────────────────────────── */
html[data-rm] body.rm.rm .rm-page-title {
  margin: 0;
  font-size: clamp(36px, 5vw, 52px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--rm-ink);
}
.rm-page-lead { margin: 14px 0 0; font-size: 18px; line-height: 1.55; color: var(--rm-ink-2); max-width: 600px; }
html[data-rm] body.rm.rm main.main > .content.rm-explore { padding-top: 56px !important; }
.rm-feature {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  border-radius: 18px;
  overflow: hidden;
  background: var(--rm-dark);
  color: var(--rm-dark-ink);
  text-decoration: none;
}
.rm-feature:hover { color: var(--rm-dark-ink); }
.rm-feature-copy { flex: 1 1 420px; padding: 40px; display: flex; flex-direction: column; gap: 14px; justify-content: center; min-width: 0; }
.rm-feature-kicker { font-size: 14px; font-weight: 600; color: var(--rm-mint); }
.rm-feature-title { font-size: 36px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; }
.rm-feature-text { font-size: 17px; line-height: 1.55; color: var(--rm-dark-muted); max-width: 460px; }
.rm-feature-cta { margin-top: 8px; font-size: 15px; font-weight: 600; }
.rm-feature:hover .rm-feature-cta { color: var(--rm-mint); }
.rm-feature-art { flex: 1 1 360px; min-height: 300px; display: flex; align-items: center; justify-content: center; background: var(--rm-dark-2); }
.rm-feature-art svg { max-width: 80%; height: auto; }
.rm-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 48px 0 20px; }
.rm-filter .rm-chip { height: 40px; padding: 0 16px; font-size: 14px; }
.rm-art-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 16px; }
.rm-art-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px;
  color: var(--rm-ink);
  text-decoration: none;
  transition: border-color .12s ease;
}
.rm-art-card:hover { border-color: var(--rm-green); color: var(--rm-ink); }
.rm-art-card[hidden] { display: none; }
.rm-art-tag { font-size: 13px; font-weight: 600; color: var(--rm-green); }
.rm-art-tag.is-history { color: var(--rm-red); }
.rm-art-title { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
.rm-art-text { font-size: 15px; line-height: 1.55; color: var(--rm-ink-2); }
.rm-iso-guide { margin-top: 72px; display: flex; flex-wrap: wrap; gap: 48px; }
.rm-iso-guide-copy { flex: 1 1 320px; max-width: 380px; }
html[data-rm] body.rm.rm .rm-iso-guide-copy h2 { margin: 0; font-size: 28px; }
.rm-iso-guide-copy p { margin: 12px 0 20px; font-size: 16px; line-height: 1.6; color: var(--rm-ink-2); }
.rm-iso-guide-cols { flex: 999 1 520px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 32px; min-width: 0; }
html[data-rm] body.rm.rm .rm-iso-guide-cols h3 { margin: 0 0 6px; font-size: 16px; }
.rm-iso-guide-cols p { margin: 0 0 10px; font-size: 14px; color: var(--rm-ink-2); }
.rm-iso-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid var(--rm-line);
  color: var(--rm-ink);
  text-decoration: none;
  font-size: 15px;
}
.rm-iso-link:hover { color: var(--rm-green); }
.rm-iso-ex { font-size: 13px; color: var(--rm-ink-2); }
@media (max-width: 720px) {
  .rm-feature-copy { padding: 28px; }
  .rm-feature-title { font-size: 28px; }
  .rm-feature-art { min-height: 220px; }
}

/* 8.5 article (explore/*) ──────────────────────────────────────────── */
html[data-rm] body.rm.rm .art-wrap {
  display: grid !important;
  grid-template-columns: minmax(200px, 240px) minmax(0, 720px);
  column-gap: 64px;
  align-items: start;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html[data-rm] body.rm.rm .art-hero { grid-column: 2; max-width: 720px; margin: 0 0 40px !important; padding: 0 !important; border: 0 !important; background: none !important; }
html[data-rm] body.rm.rm .art-grid { display: contents !important; }
html[data-rm] body.rm.rm .art-body { grid-column: 2; max-width: 720px; min-width: 0; margin: 0 !important; padding: 0 !important; font: 400 17px/1.7 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .art-aside {
  grid-column: 1;
  grid-row: 1 / span 2;
  position: sticky;
  top: calc(var(--rm-header-h) + 24px);
  align-self: start;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  max-height: calc(100vh - 120px);
  overflow: auto;
}
html[data-rm] body.rm.rm .art-kicker { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 12px !important; font: 600 14px/1.3 var(--rm-font) !important; color: var(--rm-green) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .art-kicker .ui-badge, html[data-rm] body.rm.rm .art-cat { background: none !important; border: 0 !important; padding: 0 !important; color: var(--rm-green) !important; font: 600 14px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .art-kicker .art-cat::before { content: "· "; color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .art-title { margin: 0 !important; font: 700 clamp(38px, 5vw, 56px)/1.05 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .art-title em { font-style: normal !important; color: inherit !important; font-family: inherit !important; }
html[data-rm] body.rm.rm .art-dek { margin: 18px 0 0 !important; font: 400 21px/1.5 var(--rm-font) !important; color: var(--rm-ink-2) !important; max-width: none !important; }
html[data-rm] body.rm.rm .art-meta { margin: 20px 0 0 !important; font: 400 14px/1.4 var(--rm-font) !important; color: var(--rm-ink-2) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .lab-tool-cta,
html[data-rm] body.rm.rm .article-learn {
  margin: 24px 0 0 !important;
  padding: 18px 20px !important;
  border: 1px solid var(--rm-line) !important;
  border-radius: 14px !important;
  background: var(--rm-paper) !important;
  font-family: var(--rm-font) !important;
}
html[data-rm] body.rm.rm .article-learn h2 { margin: 0 0 8px !important; font: 700 15px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .article-learn ul { margin: 0 !important; padding-left: 18px !important; font-size: 15px; line-height: 1.6; color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .article-level { margin: 16px 0 0 !important; }
html[data-rm] body.rm.rm .article-level-chip { border-radius: 999px !important; font: 500 13px/1 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; padding: 7px 12px !important; background: var(--rm-green-soft) !important; color: var(--rm-green) !important; border: 0 !important; }
html[data-rm] body.rm.rm .art-body p,
html[data-rm] body.rm.rm .art-body li { font: inherit !important; color: var(--rm-ink); }
html[data-rm] body.rm.rm .art-body p.lead { font-size: 19px !important; line-height: 1.6 !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .art-body h2 { margin: 48px 0 14px !important; font: 700 26px/1.2 var(--rm-font) !important; letter-spacing: -0.02em !important; color: var(--rm-ink) !important; text-transform: none !important; scroll-margin-top: 96px; }
html[data-rm] body.rm.rm .art-body h2::before, html[data-rm] body.rm.rm .art-body h2 .sec-num { display: none !important; content: none !important; }
html[data-rm] body.rm.rm .art-body h3 { margin: 32px 0 10px !important; font: 700 19px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; letter-spacing: -0.01em !important; text-transform: none !important; }
html[data-rm] body.rm.rm .art-body a { color: var(--rm-green); text-decoration: underline; text-underline-offset: 2px; }
html[data-rm] body.rm.rm .art-body strong { font-weight: 700; color: var(--rm-ink); }
html[data-rm] body.rm.rm .art-callout,
html[data-rm] body.rm.rm .art-facts,
html[data-rm] body.rm.rm .art-fig {
  margin: 32px 0 !important;
  padding: 22px 24px !important;
  border: 1px solid var(--rm-line) !important;
  border-left-width: 1px !important;
  border-radius: 16px !important;
  background: var(--rm-paper) !important;
  font-family: var(--rm-font) !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .art-callout *, html[data-rm] body.rm.rm .art-facts *, html[data-rm] body.rm.rm .art-fig figcaption { font-family: var(--rm-font) !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm .art-fig figcaption { margin-top: 12px; font-size: 14px !important; line-height: 1.5; color: var(--rm-ink-2) !important; text-transform: none !important; }
html[data-rm] body.rm.rm .art-toc { font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm .art-toc * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .art-toc a { display: block; padding: 8px 0 !important; color: var(--rm-ink-2) !important; text-decoration: none !important; font-size: 15px !important; line-height: 1.35; border: 0 !important; background: none !important; }
html[data-rm] body.rm.rm .art-toc a:hover { color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .art-toc a.active, html[data-rm] body.rm.rm .art-toc a[aria-current] { color: var(--rm-ink) !important; font-weight: 600 !important; }
html[data-rm] body.rm.rm .art-toc h2, html[data-rm] body.rm.rm .art-toc h3, html[data-rm] body.rm.rm .art-toc .art-toc-title, html[data-rm] body.rm.rm .art-toc .toc-title { margin: 0 0 8px !important; font-size: 13px !important; font-weight: 700 !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .art-progress > span { background: var(--rm-green) !important; }
html[data-rm] body.rm.rm .art-refs, html[data-rm] body.rm.rm .art-related, html[data-rm] body.rm.rm .art-follow { margin-top: 56px !important; padding-top: 24px !important; border-top: 1px solid var(--rm-line) !important; }
@media (max-width: 960px) {
  html[data-rm] body.rm.rm .art-wrap { display: block !important; }
  html[data-rm] body.rm.rm .art-aside { position: static; max-height: none; margin: 0 0 32px !important; padding: 16px 20px !important; border: 1px solid var(--rm-line) !important; border-radius: 14px; background: var(--rm-paper) !important; }
  html[data-rm] body.rm.rm .art-hero { margin-bottom: 24px !important; }
}
html[data-rm] body.rm.rm .art-aside #atomurus-study-save { margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--rm-line); font-family: var(--rm-font); }
html[data-rm] body.rm.rm .art-aside #atomurus-study-save * { font-family: var(--rm-font); }
html[data-rm] body.rm.rm .art-aside #atomurus-study-save button { height: 44px; padding: 0 16px; border-radius: 10px; border-color: var(--rm-line-strong); background: var(--rm-paper); font-size: 14px; font-weight: 600; }

/* 8.6 3D viewers (viewer/*) ─────────────────────────────────────────── */
html[data-rm] body.rm.rm .av-substrip,
html[data-rm] body.rm.rm .ph-note { display: none !important; }
html[data-rm] body.rm.rm .viewer {
  --viewer-bg: transparent;
  --canvas-bg-1: #14120E;
  --ctrl-bg: rgba(20, 18, 14, .72);
  --ctrl-border: #3D372C;
  --ctrl-text: #F2EFE7;
  --ctrl-hover-bg: #2E2A22;
  --ctrl-active-bg: #F2EFE7;
  --ctrl-active-text: #14120E;
  display: grid !important;
  grid-template-columns: minmax(200px, 220px) minmax(0, 1fr) minmax(240px, 280px);
  grid-auto-rows: auto;
  column-gap: 24px;
  row-gap: 16px;
  align-items: start;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  margin: 0 0 24px !important;
}
html[data-rm] body.rm.rm .viewer > .panel {
  grid-column: 1;
  grid-row: 1 / span 4;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  max-height: 640px;
  overflow: auto;
  scrollbar-width: thin;
}
html[data-rm] body.rm.rm .viewer > .canvas-wrap {
  grid-column: 2;
  grid-row: 1;
  border-radius: 16px;
  overflow: hidden;
  background: #14120E;
  min-height: 0;
}
html[data-rm] body.rm.rm .viewer > .info-bar {
  grid-column: 3;
  grid-row: 1 / span 3;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  border: 0 !important;
  font-family: var(--rm-font) !important;
}
html[data-rm] body.rm.rm .viewer > :not(.panel):not(.canvas-wrap):not(.info-bar) { grid-column: 2; }
html[data-rm] body.rm.rm .viewer canvas#viewer3d,
html[data-rm] body.rm.rm .viewer canvas#viewer2d-full { height: 540px !important; }
/* list column */
html[data-rm] body.rm.rm .viewer .panel-label {
  margin: 18px 0 8px !important;
  padding: 0 14px;
  font: 700 13px/1.2 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--rm-ink) !important;
}
html[data-rm] body.rm.rm .viewer .panel > .panel-label:first-of-type { margin-top: 4px !important; }
html[data-rm] body.rm.rm .viewer .pill-row { display: flex !important; flex-direction: column; gap: 2px !important; flex-wrap: nowrap !important; margin: 0 0 8px !important; }
html[data-rm] body.rm.rm .viewer .pill {
  width: 100%;
  text-align: left;
  justify-content: flex-start;
  padding: 11px 14px !important;
  border-radius: 10px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--rm-ink) !important;
  font: 500 15px/1.3 var(--rm-font) !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .viewer .pill:hover { background: var(--rm-surface) !important; }
html[data-rm] body.rm.rm .viewer .pill.active {
  background: var(--rm-paper) !important;
  border-color: var(--rm-line) !important;
  font-weight: 600 !important;
}
html[data-rm] body.rm.rm .viewer .pill.sm { font-size: 14px !important; padding: 8px 14px !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .viewer input[type="search"],
html[data-rm] body.rm.rm .viewer .mol-search,
html[data-rm] body.rm.rm .viewer .allo-search {
  width: 100%;
  height: 44px;
  box-sizing: border-box;
  margin: 0 0 4px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1px solid var(--rm-line-strong) !important;
  background: var(--rm-paper) !important;
  color: var(--rm-ink) !important;
  font: 400 15px var(--rm-font) !important;
}
/* stage controls */
html[data-rm] body.rm.rm .viewer .viewer-controls,
html[data-rm] body.rm.rm .viewer .viewer-mode-toggle,
html[data-rm] body.rm.rm .viewer .viewer-zoom {
  background: rgba(20, 18, 14, .72) !important;
  border: 1px solid #3D372C !important;
  box-shadow: none !important;
  border-radius: 12px !important;
}
html[data-rm] body.rm.rm .viewer .vc-btn { color: #F2EFE7 !important; border-radius: 8px !important; font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm .viewer .vc-btn:hover { background: #2E2A22 !important; }
html[data-rm] body.rm.rm .viewer .vc-btn.active { background: #F2EFE7 !important; color: #14120E !important; }
html[data-rm] body.rm.rm .viewer .vc-sep { background: #3D372C !important; }
/* Phones: the mode switch (3D/2D, Ball/Space/Stick) and the view controls
   both sit at the top of the stage. Side by side they overlapped and hid
   each other's buttons, so on narrow screens they stack in two rows and
   scroll sideways if a row is still too wide. */
@media (max-width: 760px) {
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-mode-toggle,
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-controls {
    max-width: calc(100% - 20px) !important;
    flex-wrap: nowrap !important;
    overflow-x: auto;
    scrollbar-width: none;
  }
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-mode-toggle::-webkit-scrollbar,
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-controls::-webkit-scrollbar { display: none; }
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-mode-toggle { top: 10px !important; left: 10px !important; right: auto !important; }
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-controls { top: 10px !important; left: auto !important; right: 10px !important; }
  html[data-rm] body.rm.rm .viewer .canvas-wrap:has(> .viewer-mode-toggle) > .viewer-controls { top: 64px !important; left: 10px !important; right: auto !important; }
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-mode-toggle .vc-btn,
  html[data-rm] body.rm.rm .viewer .canvas-wrap > .viewer-controls .vc-btn { flex: 0 0 auto; }
}
/* info column */
html[data-rm] body.rm.rm .viewer .info-name { margin: 0 0 8px !important; font: 700 28px/1.15 var(--rm-font) !important; letter-spacing: -0.02em !important; color: var(--rm-ink) !important; text-transform: none !important; }
html[data-rm] body.rm.rm .viewer .info-desc { margin: 0 0 16px !important; font: 400 16px/1.55 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .viewer .info-stats,
html[data-rm] body.rm.rm .viewer .info-meta { font: 400 15px/1.5 var(--rm-font) !important; color: var(--rm-ink) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .viewer .info-stats { display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--rm-line); }
html[data-rm] body.rm.rm .viewer .info-stats > * { display: flex; justify-content: space-between; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--rm-line); background: none !important; border-radius: 0 !important; margin: 0 !important; font-family: var(--rm-font) !important; font-size: 15px !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .viewer .info-meta { margin-top: 12px !important; font-size: 13px !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .viewer .info-hint { margin-top: 12px !important; font: 400 13px/1.5 var(--rm-font) !important; color: var(--rm-ink-2) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .viewer .pro-lab-discover {
  margin-top: 20px !important;
  padding: 16px !important;
  border-radius: 14px !important;
  background: var(--rm-green-soft) !important;
  border: 0 !important;
  font-family: var(--rm-font) !important;
}
html[data-rm] body.rm.rm .viewer .pro-lab-discover * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; }
/* CPK legend under the stage */
html[data-rm] body.rm.rm .legend-card { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 0 calc(min(220px, 20%) + 24px) !important; }
html[data-rm] body.rm.rm .legend-card .legend-title { display: none !important; }
html[data-rm] body.rm.rm .legend-card .legend-grid { display: flex !important; flex-wrap: wrap; gap: 6px 16px !important; }
html[data-rm] body.rm.rm .legend-card .legend-item { height: auto; padding: 0 !important; border: 0 !important; background: none !important; font: 400 14px var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .legend-card .legend-dot { width: 12px !important; height: 12px !important; border-radius: 50% !important; }
@media (max-width: 1100px) {
  html[data-rm] body.rm.rm .viewer { grid-template-columns: minmax(180px, 200px) minmax(0, 1fr); }
  html[data-rm] body.rm.rm .viewer > .info-bar { grid-column: 1 / -1; grid-row: auto; }
}
@media (max-width: 760px) {
  html[data-rm] body.rm.rm .viewer { display: flex !important; flex-direction: column; }
  html[data-rm] body.rm.rm .viewer > .panel { max-height: none; overflow: visible; order: 2; }
  html[data-rm] body.rm.rm .viewer > .canvas-wrap { order: 1; }
  html[data-rm] body.rm.rm .viewer > .info-bar { order: 3; }
  html[data-rm] body.rm.rm .viewer .pill-row { flex-direction: row !important; flex-wrap: wrap !important; }
  html[data-rm] body.rm.rm .viewer .pill { width: auto; border-color: var(--rm-line) !important; border-radius: 999px !important; padding: 8px 14px !important; font-size: 14px !important; }
  html[data-rm] body.rm.rm .viewer canvas#viewer3d,
  html[data-rm] body.rm.rm .viewer canvas#viewer2d-full { height: 380px !important; }
  html[data-rm] body.rm.rm .legend-card { margin-left: 0 !important; }
}
html[data-rm] body.rm.rm .vz-tab, html[data-rm] body.rm.rm .pt-tab { min-width: 0 !important; width: auto !important; flex: none !important; justify-content: flex-start !important; }

/* 8.7 isomerism viewer pages ───────────────────────────────────────── */
html[data-rm] body.rm.rm #atomurus-study-save { font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm #atomurus-study-save button { font: 600 14px/1 var(--rm-font) !important; letter-spacing: 0 !important; height: 40px; padding: 0 14px !important; border-radius: 10px !important; border-color: var(--rm-line-strong) !important; background: var(--rm-paper) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .iso-group-toggle,
html[data-rm] body.rm.rm .sub-tabs { border-radius: 14px !important; background: var(--rm-paper) !important; border-color: var(--rm-line) !important; box-shadow: none !important; }
html[data-rm] body.rm.rm .iso-group-btn.active,
html[data-rm] body.rm.rm .sub-tab.active { border-radius: 10px !important; background: var(--rm-green-soft) !important; border-color: transparent !important; color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .iso-group-btn, html[data-rm] body.rm.rm .sub-tab { font-family: var(--rm-font) !important; }
/* public-shell.css pins these buttons at height:44px; on phones the label
   ("Isomeria Constitucional" + its subtitle) wraps to 3–4 lines and spilled
   out of the highlighted pill. Grow with the text, keep the 44px minimum. */
html[data-rm] body.rm.rm .iso-group-toggle { align-items: stretch !important; }
html[data-rm] body.rm.rm .iso-group-btn { height: auto !important; min-height: 44px !important; padding-top: 8px !important; padding-bottom: 8px !important; }
html[data-rm] body.rm.rm .sub-tab .sub-num { display: none !important; }
html[data-rm] body.rm.rm .iso-lab,
html[data-rm] body.rm.rm .mol-card,
html[data-rm] body.rm.rm .iso-3d-panel,
html[data-rm] body.rm.rm .iso-selector { border-radius: 16px !important; border-color: var(--rm-line) !important; box-shadow: none !important; }
html[data-rm] body.rm.rm .iso-3d-panel { overflow: hidden; }
html[data-rm] body.rm.rm .iso-3d-stage { background: #14120E !important; }
html[data-rm] body.rm.rm .mol-card-name, html[data-rm] body.rm.rm .iso-section-title, html[data-rm] body.rm.rm .iso-lab-head-txt { font-family: var(--rm-font) !important; font-weight: 700 !important; letter-spacing: -0.01em; }
html[data-rm] body.rm.rm .mol-card-name { font-size: 20px !important; }
html[data-rm] body.rm.rm .iso-section-title { font-size: 22px !important; }

/* 8.8 calculators ──────────────────────────────────────────────────── */
html[data-rm] body.rm.rm .content-inner:has(> .calc-shell) { display: flex; flex-direction: column; }
html[data-rm] body.rm.rm .content-inner > .pro-lab-discover {
  order: 11;
  margin: 12px 0 0 !important;
  padding: 18px 24px !important;
  border: 1px solid var(--rm-line) !important;
  border-radius: 16px !important;
  background: var(--rm-paper) !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  font-family: var(--rm-font) !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .content-inner > .pro-lab-discover * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm .content-inner > .pro-lab-discover p { margin: 0 !important; flex: 1 1 360px; font-size: 15px !important; }
html[data-rm] body.rm.rm .content-inner > .solver-discover {
  order: 10;
  margin: 32px 0 0 !important;
  max-width: none !important;
  padding: 22px 24px !important;
  border: 0 !important;
  border-radius: 16px !important;
  background: var(--rm-green-soft) !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  font-family: var(--rm-font) !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .solver-discover p { margin: 0 !important; flex: 1 1 420px; font: 500 15px/1.5 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .solver-discover .solver-discover-badge { display: none !important; }
html[data-rm] body.rm.rm .solver-discover .solver-discover-cta { background: transparent !important; color: var(--rm-green) !important; border: 0 !important; padding: 0 !important; font: 700 15px/1 var(--rm-font) !important; box-shadow: none !important; height: auto !important; }
html[data-rm] body.rm.rm .solver-discover .solver-discover-cta::after { content: " →"; }
html[data-rm] body.rm.rm .calc-shell {
  display: grid !important;
  grid-template-columns: minmax(200px, 240px) minmax(0, 1fr);
  gap: 48px;
  margin-top: 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}
html[data-rm] body.rm.rm .calc-menu { padding: 0 !important; border: 0 !important; background: none !important; }
html[data-rm] body.rm.rm .calc-menu-label { margin: 22px 0 8px !important; padding: 0 14px !important; font: 700 13px/1.2 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .calc-menu-section:first-child .calc-menu-label { margin-top: 0 !important; }
html[data-rm] body.rm.rm .calc-menu-item {
  width: 100%;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 11px 14px !important;
  margin: 0 0 2px !important;
  border: 1px solid transparent !important;
  border-left-width: 1px !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--rm-ink) !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .calc-menu-item:hover { background: var(--rm-surface) !important; }
html[data-rm] body.rm.rm .calc-menu-item.active { background: var(--rm-paper) !important; border-color: var(--rm-line) !important; }
html[data-rm] body.rm.rm .calc-menu-item .calc-menu-num,
html[data-rm] body.rm.rm .calc-menu-item .calc-menu-sub { display: none !important; }
html[data-rm] body.rm.rm .calc-menu-title { font: 500 15px/1.3 var(--rm-font) !important; color: inherit !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm .calc-menu-item.active .calc-menu-title { font-weight: 600 !important; }
html[data-rm] body.rm.rm .calc-menu-item [class*="badge"], html[data-rm] body.rm.rm .calc-menu-item .ui-badge {
  border: 0 !important; border-radius: 999px !important; background: var(--rm-green-soft) !important; color: var(--rm-green) !important;
  font: 600 11px/1 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; padding: 5px 8px !important;
}
html[data-rm] body.rm.rm .calc-panel { padding: 0 !important; border: 0 !important; background: none !important; }
html[data-rm] body.rm.rm .calc-panel-kicker { display: none !important; }
html[data-rm] body.rm.rm .calc-panel-title { margin: 0 !important; font: 700 clamp(30px, 3.6vw, 44px)/1.08 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .calc-panel-desc { margin: 10px 0 0 !important; font: 400 17px/1.55 var(--rm-font) !important; color: var(--rm-ink-2) !important; max-width: 600px; }
html[data-rm] body.rm.rm .calc-panel-head { border: 0 !important; padding: 0 0 24px !important; margin: 0 !important; }
html[data-rm] body.rm.rm .calc-field-l { font: 600 14px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .calc-input, html[data-rm] body.rm.rm .calc-select {
  height: 56px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  border: 1px solid var(--rm-line-strong) !important;
  background: var(--rm-paper) !important;
  font: 500 18px var(--rm-font) !important;
  color: var(--rm-ink) !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm #mm-input { font: 500 22px var(--rm-mono) !important; }
html[data-rm] body.rm.rm .calc-chip-label { font: 400 14px var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .calc-chip { height: 36px; padding: 0 12px !important; border-radius: 999px !important; border: 1px solid var(--rm-line) !important; background: var(--rm-paper) !important; font: 500 14px var(--rm-mono) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .calc-btn-run, html[data-rm] body.rm.rm .calc-btn-reset { height: 48px !important; padding: 0 20px !important; border-radius: 10px !important; font: 600 15px/1 var(--rm-font) !important; }
html[data-rm] body.rm.rm .calc-btn-reset { background: transparent !important; border: 1px solid var(--rm-line-strong) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .calc-formula-strip { border-radius: 12px !important; background: var(--rm-paper) !important; border-color: var(--rm-line) !important; }
/* result: the dark instrument card */
html[data-rm] body.rm.rm .calc-result {
  background: #14120E !important;
  color: #F2EFE7 !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  --lc-ink: #F2EFE7; --lc-ink-2: #B8B2AA; --lc-ink-3: #908A7C; --lc-rule: #2E2A22; --lc-rule-soft: #2E2A22; --lc-paper: #1E1B16; --lc-surface: #1E1B16; --lc-green: #34A872;
  --text-1: #F2EFE7; --text-2: #B8B2AA; --text-3: #908A7C; --border: #2E2A22; --accent: #34A872;
}
html[data-rm] body.rm.rm .calc-result * { border-color: #2E2A22 !important; }
html[data-rm] body.rm.rm .calc-result-head { background: transparent !important; color: #908A7C !important; font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .calc-result-k { color: #B8B2AA !important; font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .calc-result-v { color: #F2EFE7 !important; font-family: var(--rm-font) !important; font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .calc-result-v.big { color: #34A872 !important; font: 700 clamp(40px, 5vw, 64px)/1 var(--rm-font) !important; letter-spacing: -0.03em !important; }
html[data-rm] body.rm.rm .calc-result-v.big * { color: inherit !important; }
html[data-rm] body.rm.rm .calc-copy-btn { background: #1E1B16 !important; color: #F2EFE7 !important; border: 1px solid #3D372C !important; border-radius: 8px !important; font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm .calc-result-formula, html[data-rm] body.rm.rm .calc-result-formula * { background: #1E1B16 !important; color: #F2EFE7 !important; }
html[data-rm] body.rm.rm .calc-deeplink { color: #34A872 !important; font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm .calc-how { border-radius: 12px !important; background: var(--rm-paper) !important; border-color: var(--rm-line) !important; }
html[data-rm] body.rm.rm .calc-how summary { font: 600 14px var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
@media (max-width: 900px) {
  html[data-rm] body.rm.rm .calc-shell { grid-template-columns: 1fr; gap: 24px; }
  html[data-rm] body.rm.rm .calc-menu { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
  html[data-rm] body.rm.rm .calc-menu-section { display: contents; }
  html[data-rm] body.rm.rm .calc-menu-label { display: none !important; }
  html[data-rm] body.rm.rm .calc-menu-item { width: auto; flex: none; border-color: var(--rm-line) !important; border-radius: 999px !important; padding: 8px 14px !important; }
}
html[data-rm] body.rm.rm .content-inner:has(> .calc-shell) > .ph-title,
html[data-rm] body.rm.rm .content-inner:has(> .calc-shell) > .ph-desc {
  position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0 !important;
}
html[data-rm] body.rm.rm .calc-result-v.big { font-size: clamp(36px, 4vw, 56px) !important; white-space: nowrap; }

/* 8.9 sign in / sign up ────────────────────────────────────────────── */
html[data-rm] body.rm.rm .lc-statusbar { display: none !important; }
html[data-rm] body.rm.rm:has(.auth-shell) .rm-header--minimal {
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  z-index: 5;
}
html[data-rm] body.rm.rm:has(.auth-shell) .rm-header--minimal .rm-header-in { max-width: none; padding: 26px 28px; }
html[data-rm] body.rm.rm .auth-shell {
  display: grid !important;
  width: 100% !important;
  grid-template-columns: 1fr 1fr;
  min-height: 100vh;
  min-height: 100dvh;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  background: none !important;
}
html[data-rm] body.rm.rm .auth-stage {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  justify-self: center;
  width: min(400px, calc(100% - 48px));
  margin: 96px 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .auth-stage-head { display: none !important; }
html[data-rm] body.rm.rm .auth-panel h2 { margin: 0 !important; font: 700 34px/1.1 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .auth-panel-copy { margin: 10px 0 28px !important; font: 400 16px/1.5 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .auth-stage label { font: 600 14px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .auth-stage input[type="email"],
html[data-rm] body.rm.rm .auth-stage input[type="text"],
html[data-rm] body.rm.rm .auth-stage input[type="password"] {
  height: 52px !important;
  padding: 0 16px !important;
  border-radius: 12px !important;
  border: 1px solid var(--rm-line-strong) !important;
  background: var(--rm-paper) !important;
  font: 400 16px var(--rm-font) !important;
  color: var(--rm-ink) !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .auth-stage button[type="submit"] {
  width: 100% !important;
  height: 52px !important;
  border-radius: 10px !important;
  border: 0 !important;
  background: var(--rm-green) !important;
  color: var(--rm-on-green) !important;
  font: 600 16px/1 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
html[data-rm] body.rm.rm .auth-stage button[type="submit"]:hover { background: var(--rm-green-hover) !important; }
html[data-rm] body.rm.rm .auth-stage a { color: var(--rm-green); }
html[data-rm] body.rm.rm .auth-rail {
  grid-column: 2;
  grid-row: 1;
  position: static !important;
  top: auto !important;
  align-self: stretch !important;
  height: auto !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  margin: 0 !important;
  padding: 64px clamp(32px, 6vw, 96px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #14120E !important;
  color: #F2EFE7 !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .auth-rail-title { margin: 0 0 16px !important; font: 700 30px/1.2 var(--rm-font) !important; letter-spacing: -0.02em !important; color: #F2EFE7 !important; max-width: 460px; }
html[data-rm] body.rm.rm .auth-rail-copy { margin: 0 0 28px !important; font: 400 16px/1.55 var(--rm-font) !important; color: #B8B2AA !important; max-width: 460px; }
html[data-rm] body.rm.rm .auth-rail-list { display: flex !important; flex-direction: column; gap: 18px !important; }
html[data-rm] body.rm.rm .auth-rail-stat {
  display: flex !important;
  flex-direction: column;
  gap: 2px;
  padding: 0 0 0 50px !important;
  position: relative;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: #F2EFE7 !important;
}
html[data-rm] body.rm.rm .auth-rail-stat::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: #1E1B16 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2334A872' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center no-repeat;
}
html[data-rm] body.rm.rm .auth-rail-stat * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .auth-rail-stat > :first-child { font-size: 16px !important; font-weight: 700 !important; color: #F2EFE7 !important; }
html[data-rm] body.rm.rm .auth-rail-stat > :last-child { font-size: 15px !important; color: #B8B2AA !important; }
html[data-rm] body.rm.rm .auth-rail-links { margin-top: 36px !important; display: flex; gap: 20px; }
html[data-rm] body.rm.rm .auth-rail-links a { color: #908A7C !important; font: 400 14px var(--rm-font) !important; }
@media (max-width: 900px) {
  html[data-rm] body.rm.rm:has(.auth-shell) .rm-header--minimal { position: static; width: auto; }
  html[data-rm] body.rm.rm .auth-shell { grid-template-columns: 1fr; min-height: 0; }
  html[data-rm] body.rm.rm .auth-stage { margin: 24px auto 48px !important; }
  html[data-rm] body.rm.rm .auth-rail { grid-column: 1; grid-row: 2; padding: 40px 24px !important; }
}

/* 8.10 document pages (about, pricing, privacy, terms, contact, 404) ── */
html[data-rm] body.rm.rm .lc-doc-hero,
html[data-rm] body.rm.rm .lc-doc-body {
  max-width: var(--rm-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--rm-gutter) !important;
  padding-right: var(--rm-gutter) !important;
  box-sizing: border-box;
  width: 100% !important;
}
html[data-rm] body.rm.rm .lc-doc-hero { padding-top: 56px !important; padding-bottom: 32px !important; border: 0 !important; background: none !important; }
html[data-rm] body.rm.rm .lc-doc-kicker { margin: 0 0 12px !important; font: 600 14px/1.3 var(--rm-font) !important; color: var(--rm-green) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .lc-doc-kicker .pill { display: none !important; }
html[data-rm] body.rm.rm .lc-doc-title { margin: 0 !important; font: 700 clamp(36px, 5vw, 52px)/1.06 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; max-width: 820px; }
html[data-rm] body.rm.rm .lc-doc-title em { font-style: normal !important; color: inherit !important; }
html[data-rm] body.rm.rm .lc-doc-desc { margin: 16px 0 0 !important; font: 400 18px/1.55 var(--rm-font) !important; color: var(--rm-ink-2) !important; max-width: 640px; }
html[data-rm] body.rm.rm .lc-doc-body { display: grid !important; grid-template-columns: minmax(180px, 220px) minmax(0, 760px) !important; gap: 64px !important; padding-bottom: 96px !important; }
html[data-rm] body.rm.rm .lc-doc-aside { position: sticky; top: calc(var(--rm-header-h) + 24px); align-self: start; font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm .lc-doc-aside > div:has(.v), html[data-rm] body.rm.rm .lc-doc-aside > hr { display: none !important; }
html[data-rm] body.rm.rm .lc-doc-aside .lbl { display: block; margin: 0 0 8px; font: 700 13px/1.2 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .lc-doc-aside a { display: block; padding: 8px 0 !important; border: 0 !important; font: 400 15px/1.35 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink-2) !important; text-decoration: none !important; }
html[data-rm] body.rm.rm .lc-doc-aside a:hover { color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .lc-doc-prose { font: 400 17px/1.7 var(--rm-font) !important; color: var(--rm-ink) !important; min-width: 0; }
html[data-rm] body.rm.rm .lc-doc-prose h2 { margin: 48px 0 14px !important; font: 700 26px/1.2 var(--rm-font) !important; letter-spacing: -0.02em !important; color: var(--rm-ink) !important; scroll-margin-top: 96px; }
html[data-rm] body.rm.rm .lc-doc-prose h2:first-child { margin-top: 0 !important; }
html[data-rm] body.rm.rm .lc-doc-prose h2 .h-no { display: none !important; }
html[data-rm] body.rm.rm .lc-doc-prose h3 { font: 700 19px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; letter-spacing: -0.01em !important; text-transform: none !important; }
html[data-rm] body.rm.rm .lc-doc-prose p, html[data-rm] body.rm.rm .lc-doc-prose li { font: inherit !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .lc-doc-prose a { color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .lc-doc-tag { border-radius: 999px !important; font: 500 13px var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .lc-doc-prose .ui-card,
html[data-rm] body.rm.rm .lc-doc-prose [class*="card"] { border-radius: 16px !important; }
html[data-rm] body.rm.rm .lc-doc-prose [class*="card"] [class*="title"],
html[data-rm] body.rm.rm .lc-doc-prose [class*="price"] { font-family: var(--rm-font) !important; }
/* pricing toggles */
html[data-rm] body.rm.rm .price-toggles [class*="toggle"] button,
html[data-rm] body.rm.rm .price-chip { border-radius: 999px !important; font-family: var(--rm-font) !important; }
@media (max-width: 860px) {
  html[data-rm] body.rm.rm .lc-doc-body { grid-template-columns: 1fr !important; gap: 24px !important; }
  html[data-rm] body.rm.rm .lc-doc-aside { position: static; display: none; }
}

/* cookie banner (cookie-consent.js) */
html[data-rm] #aco-cookie-banner { font-family: var(--rm-font) !important; border-radius: 16px !important; padding: 16px 18px !important; box-shadow: var(--rm-shadow-pop) !important; }
html[data-rm] #aco-cookie-banner .aco-title { font: 700 16px/1.3 var(--rm-font) !important; margin: 0 0 4px !important; }
html[data-rm] #aco-cookie-banner .aco-body { font-size: 14px !important; color: var(--rm-ink-2); }
html[data-rm] #aco-cookie-banner button { height: 40px; border-radius: 10px !important; font: 600 14px/1 var(--rm-font) !important; }
html[data-rm] #aco-cookie-banner button.aco-equal { background: var(--rm-green) !important; border-color: var(--rm-green) !important; color: var(--rm-on-green) !important; }
html[data-rm] #aco-cookie-banner button:not(.aco-equal) { background: transparent !important; border: 1px solid var(--rm-line-strong) !important; color: var(--rm-ink) !important; }

/* periodic-table pages: element search in the page header (top right) */
html[data-rm] body.rm.rm main.main .content:has(> .rm-ptable-search),
html[data-rm] body.rm.rm main.main .content:has(.rm-ptable-search) { position: relative; }
html[data-rm] body.rm.rm .rm-ptable-search {
  position: absolute;
  top: 60px;
  right: var(--rm-gutter);
  width: 300px;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  z-index: 20;
}
html[data-rm] body.rm.rm .rm-ptable-search > svg { position: absolute; left: 16px; top: 15px; color: var(--rm-ink-2); pointer-events: none; }
html[data-rm] body.rm.rm .rm-ptable-search input {
  position: relative !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px;
  opacity: 1 !important;
  pointer-events: auto !important;
  box-sizing: border-box;
  padding: 0 14px 0 44px !important;
  border-radius: 12px !important;
  border: 1px solid var(--rm-line-strong) !important;
  background: var(--rm-paper) !important;
  font: 400 16px var(--rm-font) !important;
  color: var(--rm-ink) !important;
}
html[data-rm] body.rm.rm .rm-ptable-search .search-suggestions { top: calc(100% + 6px); left: 0; right: 0; border-radius: 12px; font-family: var(--rm-font); }
@media (max-width: 860px) {
  html[data-rm] body.rm.rm .rm-ptable-search { position: relative; top: auto; right: auto; width: 100%; margin-top: 20px !important; }
}
html[data-rm] body.rm.rm .auth-rail-links .auth-rail-cookies { padding: 0; border: 0; background: none; color: #908A7C; font: 400 14px var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .auth-rail-links .auth-rail-cookies:hover { color: #F2EFE7; }

/* share button (share-button.js) in its remake slots */
html[data-rm] body.rm.rm .rm-share-slot { display: flex; justify-content: flex-end; position: relative; z-index: 30; }
html[data-rm] body.rm.rm .rm-share-slot--tabs { height: 0; }
html[data-rm] body.rm.rm .rm-share-slot--tabs > .share-host { position: absolute; right: 0; top: 30px; }
html[data-rm] body.rm.rm .rm-share-slot--lead { justify-content: flex-start; margin-top: 20px; }
html[data-rm] body.rm.rm .rm-share-slot .share-trigger,
html[data-rm] body.rm.rm .rm-el-actions .share-trigger,
html[data-rm] body.rm.rm .art-meta .share-trigger {
  display: inline-flex !important;
  align-items: center;
  gap: 8px !important;
  height: 40px !important;
  width: auto !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  border: 1px solid var(--rm-line-strong) !important;
  background: var(--rm-paper) !important;
  color: var(--rm-ink) !important;
  font: 600 14px/1 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .rm-el-actions .share-trigger { height: 48px !important; padding: 0 18px !important; font-size: 15px !important; }
html[data-rm] body.rm.rm .rm-share-slot .share-trigger-label,
html[data-rm] body.rm.rm .rm-el-actions .share-trigger-label,
html[data-rm] body.rm.rm .art-meta .share-trigger-label { display: inline !important; }
html[data-rm] body.rm.rm .share-menu { border-radius: 14px !important; font-family: var(--rm-font) !important; box-shadow: var(--rm-shadow-pop) !important; }
html[data-rm] body.rm.rm .art-meta .share-host { margin-left: 8px; }
@media (max-width: 720px) {
  html[data-rm] body.rm.rm .rm-share-slot--tabs { height: auto; justify-content: flex-start; margin-top: 16px; }
  html[data-rm] body.rm.rm .rm-share-slot--tabs > .share-host { position: static; }
}
html[data-rm] body.rm.rm .rm-save-slot #atomurus-study-save button { height: 48px !important; padding: 0 18px !important; font-size: 15px !important; }

/* 8.11 embedded viewers (?embed=1 inside another page's iframe) ─────── */
html.embed-mode[data-rm], html.embed-mode[data-rm] body.rm.rm { height: 100vh !important; overflow: hidden !important; }
html.embed-mode[data-rm] body.rm.rm .rm-header,
html.embed-mode[data-rm] body.rm.rm .rm-footer,
html.embed-mode[data-rm] body.rm.rm #atomurus-study-save,
html.embed-mode[data-rm] body.rm.rm .rm-share-slot,
html.embed-mode[data-rm] body.rm.rm .pro-lab-discover,
html.embed-mode[data-rm] body.rm.rm .solver-discover,
html.embed-mode[data-rm] body.rm.rm .lab-readmore,
html.embed-mode[data-rm] body.rm.rm .ph-title,
html.embed-mode[data-rm] body.rm.rm .ph-desc,
html.embed-mode[data-rm] body.rm.rm .vz-tabs,
html.embed-mode[data-rm] body.rm.rm .legend-card,
html.embed-mode[data-rm] body.rm.rm .viewer > .info-bar,
html.embed-mode[data-rm] body.rm.rm #aco-cookie-banner { display: none !important; }
html.embed-mode[data-rm] body.rm.rm .ps-shell { min-height: 0; height: 100vh; }
html.embed-mode[data-rm] body.rm.rm main.main > .content { padding: 0 !important; max-width: none !important; height: 100vh; overflow: hidden !important; }
html.embed-mode[data-rm] body.rm.rm .viewer { grid-template-columns: minmax(170px, 200px) minmax(0, 1fr) !important; height: 100vh; margin: 0 !important; column-gap: 0; }
html.embed-mode[data-rm] body.rm.rm .viewer > .panel { padding: 14px 10px !important; max-height: 100vh; }
html.embed-mode[data-rm] body.rm.rm .viewer > .canvas-wrap { border-radius: 0; height: 100vh; }
html.embed-mode[data-rm] body.rm.rm .viewer canvas#viewer3d,
html.embed-mode[data-rm] body.rm.rm .viewer canvas#viewer2d-full { height: 100vh !important; }

/* 8.12 legacy "lc-el" pages (atomic-model detail pages) ──────────────── */
html[data-rm] body.rm.rm .lc-el-header { border-color: var(--rm-line) !important; }
html[data-rm] body.rm.rm .lc-el-kicker, html[data-rm] body.rm.rm .lc-el-page .kicker {
  font: 600 15px/1.3 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--rm-green) !important;
}
html[data-rm] body.rm.rm .lc-el-kicker::before, html[data-rm] body.rm.rm .lc-el-page .kicker::before { display: none !important; }
html[data-rm] body.rm.rm .lc-el-page h1.lc-el-name {
  font: 700 clamp(44px, 6vw, 72px)/1 var(--rm-font) !important;
  letter-spacing: -0.03em !important;
  color: var(--rm-ink) !important;
}
html[data-rm] body.rm.rm .lc-el-lat { font: 400 17px/1.4 var(--rm-font) !important; font-style: normal !important; color: var(--rm-ink-2) !important; margin-top: 10px !important; }
html[data-rm] body.rm.rm .lc-el-card { border-radius: 18px !important; border-color: var(--rm-line) !important; background: var(--rm-paper) !important; box-shadow: none !important; }
html[data-rm] body.rm.rm .lc-el-card * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm .lc-el-props { border-radius: 16px !important; border-color: var(--rm-line) !important; overflow: hidden; }
html[data-rm] body.rm.rm .lc-el-prop { background: var(--rm-paper) !important; }
html[data-rm] body.rm.rm .lc-el-prop .k { font: 400 15px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .lc-el-prop .v { font: 600 15px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .lc-el-desc-lbl,
html[data-rm] body.rm.rm .lc-el-page .section-label,
html[data-rm] body.rm.rm .lc-el-page [class*="-lbl"] { font: 700 13px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .lc-el-page h2, html[data-rm] body.rm.rm .lc-el-page h3 { font-family: var(--rm-font) !important; font-weight: 700 !important; letter-spacing: -0.01em !important; text-transform: none !important; }
html[data-rm] body.rm.rm .lc-el-page h2 { font-size: 22px !important; }
html[data-rm] body.rm.rm .lc-el-page p { font-family: var(--rm-font) !important; }
html[data-rm] body.rm.rm .lc-el-nav { border-radius: 14px !important; border-color: var(--rm-line) !important; overflow: hidden; }
html[data-rm] body.rm.rm .lc-el-nav * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .lc-el-nav .nm { font-size: 16px !important; font-weight: 600 !important; }
html[data-rm] body.rm.rm .lc-el-page iframe { border-radius: 16px !important; border: 1px solid var(--rm-line) !important; background: #14120E; }

/* 8.13 headings with a light second half (404, docs): one weight */
html[data-rm] body.rm.rm .lc-doc-title *,
html[data-rm] body.rm.rm .ph-title *,
html[data-rm] body.rm.rm .art-title * { font-weight: inherit !important; font-family: inherit !important; font-style: normal !important; }
html[data-rm] body.rm.rm .lc-doc-card .lbl { font: 700 13px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .lc-doc-card { border-radius: 14px !important; }

/* 8.14 pricing cards */
html[data-rm] body.rm.rm .lc-doc-prose [class*="price"] [class*="amount"],
html[data-rm] body.rm.rm .price-amount,
html[data-rm] body.rm.rm .price-card [class*="price-num"] { font-family: var(--rm-font) !important; font-weight: 700 !important; letter-spacing: -0.02em !important; }
html[data-rm] body.rm.rm .lc-doc-prose a.ui-btn,
html[data-rm] body.rm.rm .lc-doc-prose button.ui-btn,
html[data-rm] body.rm.rm .price-card a[class*="btn"] {
  border-radius: 10px !important;
  font: 600 15px/1 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  min-height: 46px;
  padding: 0 18px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

html[data-rm] body.rm.rm .price-card { border-radius: 18px !important; box-shadow: none !important; }
html[data-rm] body.rm.rm .price-card.pro { border: 2px solid var(--rm-green) !important; background: var(--rm-green-soft) !important; }
html[data-rm] body.rm.rm .price-card .tag, html[data-rm] body.rm.rm .price-popular, html[data-rm] body.rm.rm .price-save { font: 600 13px/1.2 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .price-card h3 { font: 700 18px/1.3 var(--rm-font) !important; }
html[data-rm] body.rm.rm .price-card .amount > span:first-child { font: 700 40px/1.05 var(--rm-font) !important; letter-spacing: -0.02em !important; }
html[data-rm] body.rm.rm .price-card .amount small { font: 400 14px/1.4 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .price-actions .ui-btn { border-radius: 10px !important; min-height: 46px; padding: 0 18px !important; font: 600 15px/1 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; display: inline-flex !important; align-items: center; }
html[data-rm] body.rm.rm .price-actions .ui-btn-primary { background: var(--rm-green) !important; color: var(--rm-on-green) !important; border-color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .price-actions .ui-btn-primary * { color: inherit !important; }
html[data-rm] body.rm.rm .price-ladder-item { border-radius: 14px !important; }
html[data-rm] body.rm.rm .price-ladder-item .amt, html[data-rm] body.rm.rm .price-ladder-item [id$="-amt"], html[data-rm] body.rm.rm .price-ladder-item strong { font-family: var(--rm-font) !important; font-weight: 700 !important; }

/* legacy drawn brand glyphs → the Atomurus emblem */
html[data-rm] body.rm.rm .logo-mark,
html[data-rm] body.rm.rm .lc-topnav-mark {
  background: transparent url(/assets/brand/atomurus-mark-96.png) center / contain no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
html[data-rm] body.rm.rm .logo-mark > svg,
html[data-rm] body.rm.rm .lc-topnav-mark > svg { visibility: hidden; }
html[data-rm] body.rm.rm .about-brand { font: 700 20px/1.2 var(--rm-font) !important; }
html[data-rm] body.rm.rm .about-stat-val { font: 700 28px/1.1 var(--rm-font) !important; letter-spacing: -0.02em !important; }
html[data-rm] body.rm.rm .about-stat-lbl { font: 400 13px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .settings-section { border-radius: 16px !important; }
html[data-rm] body.rm.rm .settings-section-title { font: 700 15px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }

/* 8.15 standalone article viewer (explore/viewer/methyl-isocyanate) */
html[data-rm] body.rm.rm .mvwr-shell { font-family: var(--rm-font); }
html[data-rm] body.rm.rm .rm-back-crumb { margin: 0 0 24px; }
html[data-rm] body.rm.rm .rm-back-link { display: inline-flex !important; align-items: center; gap: 6px; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rm-ink-2) !important; font: 400 14px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none; }
html[data-rm] body.rm.rm .rm-back-link:hover { color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .mvwr-kicker { font: 600 14px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .mvwr-title { font: 700 clamp(36px, 5vw, 52px)/1.06 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .mvwr-title em { font-style: normal !important; color: inherit !important; }
html[data-rm] body.rm.rm .mvwr-dek { font: 400 18px/1.55 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .mvwr-shell button,
html[data-rm] body.rm.rm .mvwr-shell [class*="legend"],
html[data-rm] body.rm.rm .mvwr-shell [class*="hint"],
html[data-rm] body.rm.rm .mvwr-shell dt,
html[data-rm] body.rm.rm .mvwr-shell th { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .mvwr-shell [class*="stage"], html[data-rm] body.rm.rm .mvwr-shell [class*="canvas"] { border-radius: 16px; }
html[data-rm] body.rm.rm .article-level-chip { border-radius: 999px !important; font: 500 13px/1 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; padding: 7px 12px !important; background: var(--rm-green-soft) !important; color: var(--rm-green) !important; border: 0 !important; }
html[data-rm] body.rm.rm .article-learn { border-radius: 14px !important; background: var(--rm-paper) !important; border: 1px solid var(--rm-line) !important; }
html[data-rm] body.rm.rm .mvwr-stage { background: #14120E !important; border-color: #14120E !important; }
html[data-rm] body.rm.rm .mvwr-ctrls button { background: rgba(20, 18, 14, .72) !important; color: #F2EFE7 !important; border: 1px solid #3D372C !important; border-radius: 10px !important; }
html[data-rm] body.rm.rm .mvwr-hint { color: #908A7C !important; }

/* 9 ── signed-in workspace skin (/app, /account): html[data-rm-ws] ──── */
html[data-rm-ws] body { font-family: var(--rm-font); -webkit-font-smoothing: antialiased; }
html[data-rm-ws] .ws-brand-name,
html[data-rm-ws] .lc-topnav-name {
  font: 700 19px/1.1 var(--rm-font) !important;
  letter-spacing: -0.01em !important;
  text-transform: none !important;
  color: var(--rm-ink) !important;
}
html[data-rm-ws] .ws-brand-tag,
html[data-rm-ws] .lc-topnav-tag,
html[data-rm-ws] .lc-tn-no { display: none !important; }
html[data-rm-ws] .lc-topnav-mark {
  width: 32px !important;
  height: 32px !important;
  background: transparent url(/assets/brand/atomurus-mark-96.png) center / contain no-repeat !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html[data-rm-ws] .lc-topnav-mark > svg { visibility: hidden; }
html[data-rm-ws] .lc-topnav-link { font: 500 15px/1.2 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; border-radius: 8px !important; }
html[data-rm-ws] .ws-nav-group {
  font: 700 13px/1.2 var(--rm-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--rm-ink) !important;
}
html[data-rm-ws] .ws-nav-item {
  font: 500 15px/1.25 var(--rm-font) !important;
  letter-spacing: 0 !important;
  border-radius: 10px !important;
  color: var(--rm-ink) !important;
  box-shadow: none !important;
}
html[data-rm-ws] .ws-nav-item:hover { background: var(--rm-surface) !important; }
html[data-rm-ws] .ws-nav-item[aria-current="page"],
html[data-rm-ws] .ws-nav-item.is-active,
html[data-rm-ws] .ws-nav-item.active {
  background: var(--rm-paper) !important;
  border: 1px solid var(--rm-line) !important;
  color: var(--rm-ink) !important;
  font-weight: 600 !important;
}
html[data-rm-ws] .ws-nav-item[aria-current="page"]::before,
html[data-rm-ws] .ws-nav-item.is-active::before { display: none !important; }
html[data-rm-ws] .ws-nav-item.is-upgrade { background: var(--rm-green) !important; color: var(--rm-on-green) !important; border: 0 !important; }
html[data-rm-ws] .ws-search input,
html[data-rm-ws] .ws-search { border-radius: 12px !important; font-family: var(--rm-font) !important; }
html[data-rm-ws] .ws-icon-btn { border-radius: 10px !important; }
html[data-rm-ws] .ws-userchip.is-guest-cta,
html[data-rm-ws] .ps-userchip.is-guest-cta {
  background: var(--rm-green) !important;
  color: var(--rm-on-green) !important;
  border-color: var(--rm-green) !important;
  border-radius: 10px !important;
  font: 600 14px/1 var(--rm-font) !important;
  letter-spacing: 0 !important;
}
html[data-rm-ws] .ws-userchip.is-guest-cta svg, html[data-rm-ws] .ps-userchip.is-guest-cta svg { display: none !important; }
html[data-rm-ws] .ws-main h1, html[data-rm-ws] .ws-main h2, html[data-rm-ws] .ws-main h3,
html[data-rm-ws] .ac-main h1, html[data-rm-ws] .ac-main h2, html[data-rm-ws] .ac-main h3,
html[data-rm-ws] .ws-title {
  font-family: var(--rm-font) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
html[data-rm-ws] .ui-btn, html[data-rm-ws] .ws-btn { border-radius: 10px !important; font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm-ws] .ui-btn-primary, html[data-rm-ws] .ws-btn-primary { background: var(--rm-green) !important; border-color: var(--rm-green) !important; color: var(--rm-on-green) !important; }
html[data-rm-ws] .ui-card, html[data-rm-ws] .ws-card { border-radius: 16px !important; }
html[data-rm-ws][data-theme="dark"] { --rm-ink: #F2EFE7; }
html[data-rm] body.rm.rm .art-follow, html[data-rm] body.rm.rm .art-follow * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .art-follow { border-radius: 16px !important; }
html[data-rm] body.rm.rm .art-follow h2, html[data-rm] body.rm.rm .art-follow h3, html[data-rm] body.rm.rm .art-follow [class*="title"] { font-weight: 700 !important; }
html[data-rm] body.rm.rm .art-follow a { border-radius: 10px !important; }

/* tool pages: Save / Note / Share toolbar at the right end of the view tabs */
html[data-rm] body.rm.rm .rm-tools {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 8px;
  height: 0;
  position: relative;
  z-index: 30;
}
html[data-rm] body.rm.rm .rm-tools > * { position: relative; top: 30px; }
html[data-rm] body.rm.rm .rm-tools .rm-share-slot { position: relative; top: 30px; height: auto; }
html[data-rm] body.rm.rm .rm-tools > .share-host { position: relative; }
html[data-rm] body.rm.rm .rm-tools .share-trigger {
  display: inline-flex !important; align-items: center; gap: 8px !important; height: 40px !important; width: auto !important;
  padding: 0 14px !important; border-radius: 10px !important; border: 1px solid var(--rm-line-strong) !important;
  background: var(--rm-paper) !important; color: var(--rm-ink) !important; font: 600 14px/1 var(--rm-font) !important;
  letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
}
html[data-rm] body.rm.rm .rm-tools .share-trigger-label { display: inline !important; }
html[data-rm] body.rm.rm .rm-tools #atomurus-study-save { position: relative; margin: 0 !important; }
html[data-rm] body.rm.rm .rm-tools #atomurus-study-save .study-save-row { flex-wrap: nowrap; }
html[data-rm] body.rm.rm .rm-tools #atomurus-study-save .study-save-msg:empty { display: none; }
@media (max-width: 720px) {
  html[data-rm] body.rm.rm .rm-tools { height: auto; justify-content: flex-start; flex-wrap: wrap; margin-top: 16px; }
  html[data-rm] body.rm.rm .rm-tools > *, html[data-rm] body.rm.rm .rm-tools .rm-share-slot { top: 0; }
  html[data-rm] body.rm.rm .rm-tools #atomurus-study-save.is-popover .study-save-pop { left: 0; right: auto; }
}
html[data-rm] body.rm.rm .rm-tools { align-items: center; }
html[data-rm] body.rm.rm .rm-tools > * { top: 0; transform: translateY(50px); }
html[data-rm] body.rm.rm .rm-tools .share-host { margin: 0 !important; }
html[data-rm] body.rm.rm .rm-tools .rm-save-slot #atomurus-study-save button { height: 40px !important; padding: 0 14px !important; font-size: 14px !important; margin: 0 !important; }
@media (max-width: 720px) {
  html[data-rm] body.rm.rm .rm-tools > * { transform: none; }
}
html[data-rm] body.rm.rm .viewer .panel *:not(code):not(kbd):not(sub):not(sup) { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm][data-theme="dark"] body.rm.rm .viewer > .canvas-wrap,
html[data-rm][data-theme="dark"] body.rm.rm .iso-3d-stage,
html[data-rm][data-theme="dark"] body.rm.rm .mvwr-stage { box-shadow: 0 0 0 1px var(--rm-line); }
html[data-rm][data-theme="dark"] body.rm.rm .rm-card-dark,
html[data-rm][data-theme="dark"] body.rm.rm .rm-feature,
html[data-rm][data-theme="dark"] body.rm.rm .calc-result,
html[data-rm][data-theme="dark"] body.rm.rm .auth-rail { box-shadow: inset 0 0 0 1px var(--rm-line); }
/* share trigger sits in the toolbar flow (legacy compact skin offsets it) */
html[data-rm] body.rm.rm .rm-tools .share-trigger,
html[data-rm] body.rm.rm .rm-share-slot .share-trigger,
html[data-rm] body.rm.rm .rm-el-actions .share-trigger { position: static !important; left: auto !important; right: auto !important; margin: 0 !important; transform: none !important; }
/* isotopes page: grid tracks must be allowed to shrink on phones */
html[data-rm] body.rm.rm .iso-wrap > * { min-width: 0; }
@media (max-width: 900px) {
  html[data-rm] body.rm.rm .iso-wrap { grid-template-columns: minmax(0, 1fr) !important; }
}
html[data-rm] body.rm.rm .rm-tools .share-host,
html[data-rm] body.rm.rm .rm-share-slot .share-host,
html[data-rm] body.rm.rm .rm-el-actions .share-host,
html[data-rm] body.rm.rm .art-meta .share-host { width: auto !important; min-width: 0 !important; height: auto !important; justify-content: flex-start !important; }

/* study-save pop-over (Save / Note in the remake toolbars and element hero) */
html[data-rm] body.rm.rm #atomurus-study-save.is-popover { position: relative; }
html[data-rm] body.rm.rm #atomurus-study-save.is-popover .study-save-pop {
  display: none;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: none !important;
  box-sizing: border-box;
  padding: 16px;
  border: 1px solid var(--rm-line);
  border-radius: 14px;
  background: var(--rm-paper);
  box-shadow: var(--rm-shadow-pop);
  z-index: 45;
  text-align: left;
}
html[data-rm] body.rm.rm #atomurus-study-save.is-popover.open .study-save-pop { display: grid; gap: 12px; }
html[data-rm] body.rm.rm #atomurus-study-save.is-popover .study-save-fields,
html[data-rm] body.rm.rm #atomurus-study-save.is-popover .study-set-box {
  position: static !important; width: auto !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; margin: 0 !important; max-width: none !important;
}
html[data-rm] body.rm.rm #atomurus-study-save.is-popover .study-set-box .study-save-row { flex-wrap: wrap; }
html[data-rm] body.rm.rm #atomurus-study-save.is-popover .study-save-pop button { width: auto !important; white-space: nowrap; }
html[data-rm] body.rm.rm #atomurus-study-save.is-popover label { font: 600 13px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm #atomurus-study-save.is-popover textarea,
html[data-rm] body.rm.rm #atomurus-study-save.is-popover input { border-radius: 10px !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-bg) !important; padding: 10px 12px !important; font: 400 15px var(--rm-font) !important; }
html[data-rm] body.rm.rm .rm-el-actions #atomurus-study-save.is-popover .study-save-pop { right: auto; left: 0; }
html[data-rm] body.rm.rm #atomurus-study-save .study-save-msg { font: 400 13px/1.4 var(--rm-font) !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm #atomurus-study-save .study-save-row > button { display: inline-flex !important; align-items: center; gap: 6px; white-space: nowrap !important; width: auto !important; }
html[data-rm] body.rm.rm .rm-tools .share-host,
html[data-rm] body.rm.rm .rm-el-actions .share-host { flex: none !important; }
html[data-rm] body.rm.rm .rm-tools .rm-save-slot { flex: none; }
html[data-rm] body.rm.rm .rm-save-slot #atomurus-study-save { margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important; }
@media (max-width: 720px) {
  html[data-rm] body.rm.rm .pt-tabs,
  html[data-rm] body.rm.rm .vz-tabs { flex-wrap: nowrap !important; }
}

/* 8.5b article body components (Matérias) ───────────────────────────── */
html[data-rm] body.rm.rm .art-body .ac-label,
html[data-rm] body.rm.rm .art-callout .ac-label {
  display: block; margin: 0 0 8px !important;
  font: 700 13px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important;
  color: var(--rm-green) !important;
}
html[data-rm] body.rm.rm .art-callout { border-color: var(--rm-line) !important; }
html[data-rm] body.rm.rm .art-callout p { margin: 0 !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--rm-ink) !important; }
/* diagrams: legacy monospace labels → brand faces; viewBox is widened by site-nav.js when a label spills */
html[data-rm] body.rm.rm .art-fig svg { overflow: visible; max-width: 100%; height: auto; }
html[data-rm] body.rm.rm .art-fig svg text { font-family: var(--rm-font) !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm .art-fig svg text[font-family*="serif"]:not([font-family*="sans"]) { font-family: var(--rm-font) !important; font-weight: 700; }
html[data-rm][data-theme="dark"] body.rm.rm .art-fig svg [fill="#1a1a1a"], html[data-rm][data-theme="dark"] body.rm.rm .art-fig svg [fill="#111"] { fill: var(--rm-ink); }
/* key / value fact rows */
html[data-rm] body.rm.rm .art-facts { padding: 6px 24px !important; }
html[data-rm] body.rm.rm .art-facts .af-row { display: flex !important; justify-content: space-between; align-items: baseline; gap: 16px; padding: 13px 0 !important; border: 0 !important; border-bottom: 1px solid var(--rm-line) !important; background: none !important; }
html[data-rm] body.rm.rm .art-facts .af-row:last-child { border-bottom: 0 !important; }
html[data-rm] body.rm.rm .art-facts .af-k { flex: none; max-width: 45%; font: 400 15px/1.4 var(--rm-font) !important; color: var(--rm-ink-2) !important; text-transform: none !important; letter-spacing: 0 !important; }
html[data-rm] body.rm.rm .art-facts .af-v { font: 600 15px/1.4 var(--rm-font) !important; color: var(--rm-ink) !important; text-align: right; text-transform: none !important; letter-spacing: 0 !important; }
/* timeline rows (lists of dated milestones, tagged by site-nav.js) */
html[data-rm] body.rm.rm .art-body ul.rm-timeline { list-style: none !important; margin: 20px 0 28px !important; padding: 0 !important; border-top: 1px solid var(--rm-line); }
html[data-rm] body.rm.rm .art-body ul.rm-timeline > li { display: grid !important; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; margin: 0 !important; padding: 16px 0 !important; border-bottom: 1px solid var(--rm-line); }
html[data-rm] body.rm.rm .art-body ul.rm-timeline > li::before, html[data-rm] body.rm.rm .art-body ul.rm-timeline > li::marker { content: none !important; display: none !important; }
html[data-rm] body.rm.rm .art-body .rm-tl-year { font: 700 15px/1.6 var(--rm-font); color: var(--rm-green); font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { html[data-rm] body.rm.rm .art-body ul.rm-timeline > li { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; } }
/* "Continue exploring" cards */
html[data-rm] body.rm.rm .art-related { border-top: 0 !important; padding-top: 0 !important; }
html[data-rm] body.rm.rm .art-related .ar-label { margin: 0 0 14px !important; font: 700 19px/1.3 var(--rm-font) !important; letter-spacing: -0.01em !important; text-transform: none !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .art-related-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
@media (max-width: 640px) { html[data-rm] body.rm.rm .art-related-grid { grid-template-columns: minmax(0, 1fr) !important; } }
html[data-rm] body.rm.rm .art-body a.ar-card, html[data-rm] body.rm.rm a.ar-card {
  display: block; padding: 18px 20px !important; border: 1px solid var(--rm-line) !important; border-radius: 14px !important;
  background: var(--rm-paper) !important; text-decoration: none !important; color: var(--rm-ink) !important; box-shadow: none !important;
  transition: border-color .15s, background .15s;
}
html[data-rm] body.rm.rm a.ar-card:hover { border-color: var(--rm-line-strong) !important; background: var(--rm-surface) !important; transform: none !important; }
html[data-rm] body.rm.rm a.ar-card * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; }
html[data-rm] body.rm.rm a.ar-card .ar-cat { margin: 0 0 4px !important; font-size: 13px !important; font-weight: 400 !important; color: var(--rm-ink-3) !important; }
html[data-rm] body.rm.rm a.ar-card .ar-title { font-size: 17px !important; font-weight: 700 !important; color: var(--rm-ink) !important; line-height: 1.3 !important; }
html[data-rm] body.rm.rm a.ar-card .ar-title::after { content: " →"; color: var(--rm-green); }
html[data-rm] body.rm.rm a.ar-card .ar-desc { margin-top: 6px !important; font-size: 14px !important; line-height: 1.5 !important; color: var(--rm-ink-2) !important; }
/* follow box */
html[data-rm] body.rm.rm .art-follow { padding: 24px !important; border: 1px solid var(--rm-line) !important; background: var(--rm-paper) !important; }
html[data-rm] body.rm.rm .art-follow .afl-links a { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-bg) !important; color: var(--rm-ink) !important; text-decoration: none !important; font-size: 14px !important; font-weight: 600 !important; }
html[data-rm] body.rm.rm .art-follow .afl-links a:hover { background: var(--rm-surface) !important; }
html[data-rm] body.rm.rm .art-follow .afl-sub { color: var(--rm-ink-2) !important; font-size: 15px !important; }
/* references */
html[data-rm] body.rm.rm .art-refs ol, html[data-rm] body.rm.rm .art-refs ul { padding-left: 22px !important; }
html[data-rm] body.rm.rm .art-refs li { margin: 8px 0 !important; color: var(--rm-ink-2) !important; font-size: 15px !important; }
/* legacy console strips */
html[data-rm] body.rm.rm .data-strip, html[data-rm] body.rm.rm .lc-statusbar { display: none !important; }
@media (max-width: 560px) {
  html[data-rm] body.rm.rm .art-facts .af-row { flex-direction: column; align-items: flex-start; gap: 2px; }
  html[data-rm] body.rm.rm .art-facts .af-k { max-width: none; font-size: 14px !important; }
  html[data-rm] body.rm.rm .art-facts .af-v { text-align: left; }
}
/* element page, narrow screens: key data right after the hero, long text after */
@media (max-width: 900px) {
  html[data-rm] body.rm.rm .rm-el-body { flex-direction: column; flex-wrap: nowrap; }
  html[data-rm] body.rm.rm .rm-el-aside { order: -1; flex: none; width: 100%; align-self: stretch; }
  html[data-rm] body.rm.rm .rm-el-main { flex: none; width: 100%; }
}
/* isotopes: wide comparison table scrolls inside its card on phones instead of being clipped */
html[data-rm] body.rm.rm .iso-details { min-width: 0; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Legacy console typography left inside tool pages (isotopes, isomerism,
   element modal, calculator chips): one text face, no letter-spaced caps.
   Code, formulas and electron configurations keep the mono face. */
html[data-rm] body.rm.rm :is(.main, #modal) :is(*:not(code, kbd, pre, samp, svg, svg *, .rm-mono, [class*="config"], [class*="formula"], [class*="badge"], .ps-plan-badge)) {
  font-family: var(--rm-font) !important;
  letter-spacing: 0 !important;
}
html[data-rm] body.rm.rm :is(.main, #modal) :is(.m-section-lbl, .f-label, .modal-mass-lbl, .app-tag, .iso-stat-lbl, .iso-insight-name, .iso-group-count, .iso-tree-title, .mol-card-tag, .iso-3d-tab, .iso-selector-title, .calc-chip, .calc-help, .atom-explore-btn, th, [class*="-lbl"], [class*="-label"], [class*="kicker"]) {
  text-transform: none !important;
}
html[data-rm] body.rm.rm .main td { font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .main .iso-badge { font-family: var(--rm-font) !important; letter-spacing: 0.02em !important; font-weight: 700; }
html[data-rm] body.rm.rm .iso-details table { display: table !important; width: 100% !important; max-width: none !important; }
@media (max-width: 720px) { html[data-rm] body.rm.rm .iso-details table { min-width: 560px; } }
/* element modal (periodic table): sentence-case actions and badge */
html[data-rm] body.rm.rm #modal :is(button, a, .modal-cta-corner, [class*="cat"]) { text-transform: none !important; letter-spacing: 0 !important; }

/* 8.6b 3D viewers, v2 — wider page, stage sized to the screen, compact head,
   right column with the model notes (design: "Modelos 3D"). site-nav.js
   moves the info bar, model notes, Pro card and legend into place. */
/* Same 1200px column as the header (the design keeps one width everywhere). */
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .ph-kicker,
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .content-inner > .lab-readmore,
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .content-inner > .lab-readmore-card { display: none !important; }
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) main.main > .content { padding-top: 32px !important; }
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .ph-title { font-size: clamp(32px, 3.4vw, 44px) !important; margin-bottom: 6px !important; }
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .ph-desc { font-size: 16px !important; max-width: 760px !important; margin-bottom: 0 !important; }
html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .vz-tabs { margin: 20px 0 24px !important; }
html[data-rm] body.rm.rm .viewer.rm-vw {
  grid-template-columns: 232px minmax(0, 1fr) 320px !important;
  column-gap: 28px;
}
html[data-rm] body.rm.rm .viewer.rm-vw > .canvas-wrap { grid-row: 1; border-radius: 20px; box-shadow: 0 0 0 1px var(--rm-line); }
html[data-rm] body.rm.rm .viewer.rm-vw canvas#viewer3d,
html[data-rm] body.rm.rm .viewer.rm-vw canvas#viewer2d-full { height: clamp(480px, calc(100vh - 290px), 820px) !important; }
html[data-rm] body.rm.rm .viewer.rm-vw > .panel { max-height: clamp(480px, calc(100vh - 290px), 820px); grid-row: 1 / span 3; }
html[data-rm] body.rm.rm .viewer.rm-vw > .rm-vw-side { grid-column: 3 !important; grid-row: 1 / span 3; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
html[data-rm] body.rm.rm .viewer.rm-vw > .rm-vw-side > .info-bar { display: block !important; padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
html[data-rm] body.rm.rm .viewer.rm-vw > .legend-card,
html[data-rm] body.rm.rm .viewer.rm-vw > #atom-legend,
html[data-rm] body.rm.rm .viewer.rm-vw > #mol-legend { grid-column: 2 !important; margin: 2px 0 0 !important; }
html[data-rm] body.rm.rm .viewer.rm-vw .legend-card .legend-item { font-size: 13px !important; }
html[data-rm] body.rm.rm .viewer.rm-vw .info-name { font-size: 30px !important; }
html[data-rm] body.rm.rm .viewer.rm-vw .info-hint { display: none !important; }
/* year column in the historical model list */
html[data-rm] body.rm.rm .viewer .pill[data-rm-year] { display: grid !important; grid-template-columns: 52px 1fr; align-items: baseline; }
html[data-rm] body.rm.rm .viewer .pill[data-rm-year]::before { content: attr(data-rm-year); font: 600 13px/1 var(--rm-font); color: var(--rm-ink-3); font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .viewer .pill.active[data-rm-year]::before { color: var(--rm-green); }
/* model notes card (what it explained / limits) */
html[data-rm] body.rm.rm .rm-vw-side .model-detail { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; display: flex; flex-direction: column; gap: 12px; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail * { font-family: var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-head { display: flex; gap: 8px; align-items: baseline; font-size: 14px; color: var(--rm-green); font-weight: 600; order: -1; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-badge { padding: 0 !important; background: none !important; border: 0 !important; color: var(--rm-green) !important; font-size: 14px !important; font-weight: 600 !important; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-title { font-size: 14px !important; font-weight: 600 !important; color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-head::before { content: none; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-body { font-size: 15px !important; line-height: 1.55 !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-cols { display: flex !important; flex-direction: column; gap: 10px; }
html[data-rm] body.rm.rm .rm-vw-side .md-col { display: flex !important; flex-direction: column; gap: 4px; padding: 14px 16px !important; border-radius: 14px !important; border: 0 !important; font-size: 15px !important; line-height: 1.5 !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-col b { font-size: 13px !important; font-weight: 700 !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-col.ok { background: var(--rm-green-soft) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-col.ok b { color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-col.limit { background: var(--rm-surface) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-col.limit b { color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-shells { display: flex; flex-direction: column; gap: 6px; font-size: 13px !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-shell { background: none !important; border: 0 !important; padding: 0 !important; }
html[data-rm] body.rm.rm .rm-vw-side .model-detail-ref { font-size: 13px !important; line-height: 1.5 !important; color: var(--rm-ink-3) !important; }
html[data-rm] body.rm.rm .rm-vw-side .rm-vw-read { font: 600 15px/1.4 var(--rm-font); color: var(--rm-green); text-decoration: underline; text-underline-offset: 3px; }
html[data-rm] body.rm.rm .rm-vw-side .pro-lab-discover { margin-top: 4px !important; }
html[data-rm] body.rm.rm .rm-vw-side [data-pro-lab-tool] > * { margin: 0 !important; max-width: none !important; }
@media (max-width: 1180px) {
  html[data-rm] body.rm.rm .viewer.rm-vw { grid-template-columns: 210px minmax(0, 1fr) !important; }
  html[data-rm] body.rm.rm .viewer.rm-vw > .rm-vw-side { grid-column: 1 / -1 !important; grid-row: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 28px; }
  html[data-rm] body.rm.rm .viewer.rm-vw > .legend-card, html[data-rm] body.rm.rm .viewer.rm-vw > #atom-legend, html[data-rm] body.rm.rm .viewer.rm-vw > #mol-legend { grid-column: 2; }
}
@media (max-width: 760px) {
  html[data-rm] body.rm.rm .viewer.rm-vw { display: flex !important; }
  html[data-rm] body.rm.rm .viewer.rm-vw > .canvas-wrap { order: 1; }
  html[data-rm] body.rm.rm .viewer.rm-vw > .legend-card, html[data-rm] body.rm.rm .viewer.rm-vw > #atom-legend, html[data-rm] body.rm.rm .viewer.rm-vw > #mol-legend { order: 2; }
  html[data-rm] body.rm.rm .viewer.rm-vw > .panel { order: 3; max-height: none; }
  html[data-rm] body.rm.rm .viewer.rm-vw > .rm-vw-side { order: 4; display: flex; }
  html[data-rm] body.rm.rm .viewer.rm-vw canvas#viewer3d,
  html[data-rm] body.rm.rm .viewer.rm-vw canvas#viewer2d-full { height: min(70vh, 460px) !important; }
  html[data-rm] body.rm.rm .viewer .pill[data-rm-year] { display: inline-flex !important; gap: 6px; }
}
@media (min-width: 721px) {
  html[data-rm] body.rm.rm:has(.viewer > .canvas-wrap) .rm-tools > * { transform: translateY(42px); }
}
html[data-rm] body.rm.rm .viewer .pill.active,
html[data-rm] body.rm.rm .viewer .pill.purple.active,
html[data-rm] body.rm.rm .viewer .pill.active * { color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .viewer .pill.purple { color: var(--rm-ink) !important; }

/* 9b ── /app chrome v2: same rm-header shell as Matérias, no desktop rail ── */
html[data-rm-ws][data-rm-app] .ws-body { background: var(--rm-bg) !important; color: var(--rm-ink); }
/* Lab keeps .ws-topbar for the shell grid area, but the visible chrome is
   .rm-header / .rm-header-in — do not reintroduce the old flex topbar paddings. */
html[data-rm-ws][data-rm-app] header.ws-topbar.rm-header {
  display: block !important;
  gap: 0 !important;
  padding: 0 !important;
  width: 100%;
  max-width: none;
  min-height: 0;
  background: var(--rm-bg) !important;
  border-bottom: 1px solid var(--rm-line) !important;
  box-shadow: none !important;
  z-index: 60;
}
html[data-rm-ws][data-rm-app] .ws-brand { gap: 10px !important; flex: none; }
html[data-rm-ws][data-rm-app] .ws-brand-name { font: 700 19px/1 var(--rm-font) !important; letter-spacing: -0.01em !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip:not(.is-guest-cta),
html[data-rm-ws][data-rm-app] .ws-topbar .rm-cta:not(.is-guest-cta) {
  height: 44px !important; min-height: 44px !important; padding: 0 14px !important; border-radius: 10px !important;
  border-color: var(--rm-line-strong) !important; background: var(--rm-paper) !important; font-family: var(--rm-font) !important;
}
html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip-name,
html[data-rm-ws][data-rm-app] .ws-topbar .rm-account-name { font: 600 14px var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] .ws-menu-btn { display: none !important; }
@media (min-width: 1024px) {
  /* desktop (design "Laboratório"): the site links live in the top bar and
     the app sections are a segmented control, so there is no left column */
  html[data-rm-ws][data-rm-app] .ws-shell { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "topbar" "main" !important; --ws-topbar: 68px; }
  html[data-rm-ws][data-rm-app] .ws-sidebar { display: none !important; }
}
@media (max-width: 1023px) {
  html[data-rm-ws][data-rm-app] .ws-shell { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "topbar" "main" !important; }
  html[data-rm-ws][data-rm-app] .ws-sidebar { display: none !important; }
}
/* section tabs (Lab · Estudo · Meu trabalho): underline tabs like the site */
html[data-rm-ws][data-rm-app] .ws-study-nav { border-bottom: 1px solid var(--rm-line) !important; padding: 0 !important; margin-bottom: 16px !important; background: none !important; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav { gap: 4px !important; background: none !important; border: 0 !important; padding: 0 !important; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-study-nav-item {
  height: 44px !important; padding: 0 12px !important; border-radius: 0 !important; border: 0 !important;
  border-bottom: 2px solid transparent !important; background: none !important; box-shadow: none !important;
  font: 500 15px/1 var(--rm-font) !important; color: var(--rm-ink-2) !important; margin-bottom: -1px;
}
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-study-nav-item:hover { color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-study-nav-item.is-active { color: var(--rm-ink) !important; font-weight: 600 !important; border-bottom-color: var(--rm-green) !important; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-study-nav-item.is-active svg { color: var(--rm-green); }
html[data-rm-ws][data-rm-app] .ws-main { padding: 12px 24px 24px !important; }

/* 9c ── Virtual Lab bench (remake) ─────────────────────────────────── */
html[data-rm-ws][data-rm-app] .lab-board, html[data-rm-ws][data-rm-app] .lab-board * { font-family: var(--rm-font); letter-spacing: 0; }
html[data-rm-ws][data-rm-app] .lab-board-bar { gap: 12px !important; align-items: center; margin-bottom: 14px !important; }
html[data-rm-ws][data-rm-app] .lab-bar-title strong { font: 700 20px/1.2 var(--rm-font) !important; letter-spacing: -0.01em !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-save-state { font-size: 13px !important; color: var(--rm-ink-3) !important; }
html[data-rm-ws][data-rm-app] .lab-bar-search input,
html[data-rm-ws][data-rm-app] .lab-search input { height: 42px !important; border-radius: 12px !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-paper) !important; font: 400 15px var(--rm-font) !important; padding: 0 14px !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-board .ws-btn { height: 42px; min-height: 42px !important; padding: 0 16px !important; border-radius: 10px !important; font: 600 14px/1 var(--rm-font) !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-paper) !important; color: var(--rm-ink) !important; box-shadow: none !important; }
html[data-rm-ws][data-rm-app] .lab-board .ws-btn-primary { background: var(--rm-green) !important; border-color: var(--rm-green) !important; color: var(--rm-on-green) !important; }
html[data-rm-ws][data-rm-app] .lab-board .ws-btn:hover { filter: brightness(.97); }
html[data-rm-ws][data-rm-app] .lab-icon-btn,
html[data-rm-ws][data-rm-app] .lab-tool-btn { width: 40px !important; height: 40px !important; border-radius: 10px !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-paper) !important; color: var(--rm-ink) !important; box-shadow: none !important; }
html[data-rm-ws][data-rm-app] .lab-tool-btn { border-color: transparent !important; background: transparent !important; }
html[data-rm-ws][data-rm-app] .lab-tool-btn:hover, html[data-rm-ws][data-rm-app] .lab-icon-btn:hover { background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app] .lab-icon-btn[aria-pressed="true"] { background: var(--rm-green-soft) !important; color: var(--rm-green) !important; border-color: transparent !important; }
html[data-rm-ws][data-rm-app] .lab-stage-shell { gap: 14px !important; }
/* tool rail */
html[data-rm-ws][data-rm-app] .lab-dock-rail { border-radius: 16px !important; border: 1px solid var(--rm-line) !important; background: var(--rm-paper) !important; padding: 8px 6px !important; gap: 4px !important; box-shadow: none !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rail button, html[data-rm-ws][data-rm-app] .lab-dock-rail [data-dock], html[data-rm-ws][data-rm-app] .lab-dock-rail [data-board-tool] {
  border-radius: 12px !important; border: 1px solid transparent !important; background: transparent !important; color: var(--rm-ink-2) !important;
  font: 500 11px/1.2 var(--rm-font) !important; text-transform: none !important; letter-spacing: 0 !important;
}
html[data-rm-ws][data-rm-app] .lab-dock-rail button:hover { background: var(--rm-surface) !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rail [aria-pressed="true"], html[data-rm-ws][data-rm-app] .lab-dock-rail .is-active, html[data-rm-ws][data-rm-app] .lab-dock-rail [aria-expanded="true"] {
  background: var(--rm-green-soft) !important; color: var(--rm-green) !important; border-color: transparent !important; box-shadow: none !important;
}
html[data-rm-ws][data-rm-app] .lab-dock-panel { border-radius: 16px !important; border: 1px solid var(--rm-line) !important; background: var(--rm-paper) !important; box-shadow: var(--rm-shadow-pop) !important; }
/* stage */
html[data-rm-ws][data-rm-app] .lab-board-stage { border-radius: 20px !important; border: 1px solid var(--rm-line) !important; box-shadow: none !important; }
html[data-rm-ws][data-rm-app] .lab-context,
html[data-rm-ws][data-rm-app] .lab-hud { border-radius: 12px !important; border: 1px solid var(--rm-line) !important; background: var(--rm-paper) !important; box-shadow: var(--rm-shadow-pop) !important; }
html[data-rm-ws][data-rm-app] .lab-context button, html[data-rm-ws][data-rm-app] .lab-hud button { border-radius: 8px !important; color: var(--rm-ink) !important; font-family: var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] .lab-hint { font: 400 12px/1.4 var(--rm-font) !important; color: var(--rm-ink-3) !important; background: none !important; border: 0 !important; }
/* inspector */
html[data-rm-ws][data-rm-app] .lab-side { border-radius: 16px !important; border: 1px solid var(--rm-line) !important; background: var(--rm-paper) !important; box-shadow: none !important; overflow: hidden; }
html[data-rm-ws][data-rm-app] .lab-side-tabs { border-bottom: 1px solid var(--rm-line) !important; background: none !important; padding: 0 8px !important; gap: 2px !important; }
html[data-rm-ws][data-rm-app] .lab-side-tabs button { height: 46px !important; border: 0 !important; border-bottom: 2px solid transparent !important; border-radius: 0 !important; background: none !important; font: 500 14px var(--rm-font) !important; color: var(--rm-ink-2) !important; text-transform: none !important; margin-bottom: -1px; }
html[data-rm-ws][data-rm-app] .lab-side-tabs button[aria-selected="true"], html[data-rm-ws][data-rm-app] .lab-side-tabs button.is-active { color: var(--rm-ink) !important; font-weight: 600 !important; border-bottom-color: var(--rm-green) !important; }
html[data-rm-ws][data-rm-app] .lab-side-body { padding: 16px !important; font-size: 14px; color: var(--rm-ink); }
html[data-rm-ws][data-rm-app] .lab-side-body button { border-radius: 10px !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-bg) !important; color: var(--rm-ink) !important; font: 600 14px var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] .lab-side-body button:hover { background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-board-stage { background-color: #12100D !important; }
html[data-rm-ws][data-rm-app] .lab-side-tabs button { white-space: nowrap !important; padding: 0 10px !important; flex: 1 1 auto; }
html[data-rm-ws][data-rm-app] .ws-topbar .ps-plan-badge, html[data-rm-ws][data-rm-app] .ws-topbar .ws-badge { font: 700 11px/1 var(--rm-font) !important; letter-spacing: 0.04em !important; padding: 5px 8px !important; border-radius: 999px !important; border: 0 !important; background: var(--rm-green-soft) !important; color: var(--rm-green) !important; }
/* 9d ── Pro Lab home (Lab › análise) ─────────────────────────────── */
html[data-rm-ws][data-rm-app] .ws-main .ws-kicker { font: 700 14px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-green) !important; margin: 28px 0 12px !important; }
html[data-rm-ws][data-rm-app] .ws-main h1.ws-title, html[data-rm-ws][data-rm-app] .ws-main .ws-title { font: 700 clamp(30px, 3vw, 40px)/1.1 var(--rm-font) !important; letter-spacing: -0.02em !important; }
html[data-rm-ws][data-rm-app] #ws-lab-home { max-width: 1200px; }
html[data-rm-ws][data-rm-app] #ws-lab-home > .ws-kicker:first-child { margin-top: 8px !important; }
html[data-rm-ws][data-rm-app] .ws-lab-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 14px !important; }
@media (max-width: 900px) { html[data-rm-ws][data-rm-app] .ws-lab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { html[data-rm-ws][data-rm-app] .ws-lab-grid { grid-template-columns: minmax(0, 1fr) !important; } }
html[data-rm-ws][data-rm-app] a.ws-lab-card {
  position: relative; display: flex !important; flex-direction: column; gap: 8px; min-height: 0 !important;
  padding: 20px 22px !important; border-radius: 16px !important; border: 1px solid var(--rm-line) !important;
  background: var(--rm-paper) !important; box-shadow: none !important; text-decoration: none !important; color: var(--rm-ink) !important;
  transition: border-color .15s, background .15s;
}
html[data-rm-ws][data-rm-app] a.ws-lab-card:hover { border-color: var(--rm-line-strong) !important; background: var(--rm-surface) !important; transform: none !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card .ws-lab-card-title { margin: 0 !important; font: 700 19px/1.25 var(--rm-font) !important; letter-spacing: -0.01em !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card .ws-lab-card-copy { margin: 0 !important; font: 400 15px/1.5 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card .ws-btn { align-self: flex-start; margin-top: auto !important; height: auto !important; min-height: 0 !important; padding: 8px 0 0 !important; border: 0 !important; background: none !important; color: var(--rm-green) !important; font: 600 15px/1 var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card .ws-btn::after { content: " →"; }
html[data-rm-ws][data-rm-app] a.ws-lab-card.is-flagship { margin-bottom: 14px; padding: 26px 28px !important; background: var(--rm-green) !important; border-color: var(--rm-green) !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card.is-flagship .ws-lab-card-title { font-size: 26px !important; color: var(--rm-on-green) !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card.is-flagship .ws-lab-card-copy { color: color-mix(in oklab, var(--rm-on-green) 82%, transparent) !important; max-width: 720px; }
html[data-rm-ws][data-rm-app] a.ws-lab-card.is-flagship .ws-btn { align-self: flex-start; margin-top: 10px !important; padding: 12px 18px !important; border-radius: 10px !important; background: var(--rm-paper) !important; color: var(--rm-green) !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card.is-flagship:hover { filter: brightness(1.05); background: var(--rm-green) !important; }
html[data-rm-ws][data-rm-app] .ws-lab-badge { position: absolute; top: 16px; right: 16px; padding: 4px 8px !important; border-radius: 999px !important; background: var(--rm-green-soft) !important; color: var(--rm-green) !important; font: 700 11px/1 var(--rm-font) !important; letter-spacing: .04em !important; border: 0 !important; }
html[data-rm-ws][data-rm-app] a.ws-lab-card.is-locked .ws-btn { color: var(--rm-ink-2) !important; }
html[data-rm-ws][data-rm-app] .ws-main .ws-lede { font: 400 17px/1.55 var(--rm-font) !important; color: var(--rm-ink-2) !important; max-width: 720px; }
@media (max-width: 860px) {
  /* the bench collapsed to 2px on phones: give the stage real height */
  html[data-rm-ws][data-rm-app] .lab-stage-frame { min-height: 0; }
  html[data-rm-ws][data-rm-app] .lab-stage-frame,
  html[data-rm-ws][data-rm-app] .lab-board-stage { height: clamp(360px, 62vh, 560px) !important; min-height: 360px !important; }
  html[data-rm-ws][data-rm-app] .is-lab-surface .lab-board-stage { height: clamp(360px, 62vh, 560px) !important; }
}
@media (max-width: 479px) {
  html[data-rm-ws][data-rm-app] header.ws-topbar.rm-header { padding: 0 !important; gap: 0 !important; }
  html[data-rm-ws][data-rm-app] .ws-topbar .rm-theme-switch { padding: 0; gap: 0; }
  html[data-rm-ws][data-rm-app] .ws-account { width: 44px !important; min-width: 0 !important; max-width: 44px !important; gap: 0 !important; }
  html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip { min-width: 0 !important; }
  html[data-rm-ws][data-rm-app] .ws-topbar button[data-i18n-toggle] { display: none !important; }
  html[data-rm-ws][data-rm-app] .ws-topbar [data-i18n-toggle],
  html[data-rm-ws][data-rm-app] .ws-topbar button[onclick="toggleTheme()"],
  .ps-plan-badge,
  .rm-account-name,
  .ws-userchip-name { display: none !important; }
  html[data-rm-ws][data-rm-app] .ws-brand-name,
  html[data-rm-ws][data-rm-app] .ws-brand-tag { display: none !important; }
  .rm-account [data-atomurus-account-chip]:not(.is-guest-cta),
  html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip:not(.is-guest-cta) {
    width: 44px !important; height: 44px; min-width: 44px !important; max-width: 44px; min-height: 44px;
    padding: 0 !important; justify-content: center;
  }
}
@media (max-width: 560px) {
  html[data-rm-ws][data-rm-app] .lab-context { max-width: calc(100% - 16px) !important; overflow-x: auto; scrollbar-width: none; }
}
/* seven top-level items, the account actions, search and the theme switch:
   one row from 1200px (the column is 1152px wide); below, the burger drawer */
@media (min-width: 1200px) {
  .rm-drawer-account { display: none; }
  .rm-nav { flex-wrap: nowrap; min-width: 0; }
  .rm-link { white-space: nowrap; }
  .rm-header-in { gap: 10px; max-width: min(1520px, 100%); }
  .rm-brand { margin-right: 4px; }
  .rm-nav .rm-link { padding-left: 6px; padding-right: 6px; }
  .rm-actions { gap: 8px; }
  .rm-actions .rm-signin { padding-left: 9px; padding-right: 9px; }
}
/* PT labels + guest CTAs: keep search/theme/account as the system corner. */
@media (min-width: 1200px) and (max-width: 1399px) {
  .rm-header-in { gap: 8px; }
  .rm-brand { margin-right: 0; }
  .rm-nav .rm-link { padding-left: 4px; padding-right: 4px; font-size: 14px; }
  .rm-header-tools { gap: 6px; }
  .rm-header-tools .rm-signin { display: none; }
  .rm-cta.rm-btn { padding: 0 10px; font-size: 13.5px; }
}

/* 9e ── Laboratório (design "Atomurus — Laboratório remake") ─────────── */
html[data-rm-ws][data-rm-app] .rm-ws-signin { display: none; align-items: center; height: 40px; padding: 0 12px; border-radius: 8px; font: 500 15px/1 var(--rm-font); color: var(--rm-ink); text-decoration: none; }
html[data-rm-ws][data-rm-app] .rm-ws-signin:hover { background: var(--rm-surface); }
html[data-rm-ws][data-rm-app] .ws-topbar-actions:has(.is-guest-cta) .rm-ws-signin { display: inline-flex; }
html[data-rm-ws][data-rm-app] .ws-topbar [data-i18n-toggle],
html[data-rm-ws][data-rm-app] .ws-topbar button[onclick="toggleTheme()"] { border-color: transparent !important; color: var(--rm-ink-2) !important; }
html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip.is-guest-cta { height: 40px; padding: 0 18px !important; border-radius: 10px !important; font: 600 15px var(--rm-font) !important; }
/* page frame */
html[data-rm-ws][data-rm-app] .ws-main,
html[data-rm-ws][data-rm-app].is-lab-surface .ws-main { display: block !important; overflow-y: auto !important; padding: 40px max(24px, calc((100% - 1272px) / 2)) 0 !important; position: relative; }
html[data-rm-ws][data-rm-app] .ws-content,
html[data-rm-ws][data-rm-app].is-lab-surface .ws-content { max-width: none !important; display: block !important; min-height: 0; }
html[data-rm-ws][data-rm-app].is-lab-surface #app-study,
html[data-rm-ws][data-rm-app].is-lab-surface .lab-board { display: block !important; }
html[data-rm-ws][data-rm-app] .rm-ws-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 64px; padding: 24px 0 28px; border-top: 1px solid var(--rm-line); font: 400 14px var(--rm-font); color: var(--rm-ink-2); }
html[data-rm-ws][data-rm-app] .rm-ws-foot nav { display: flex; gap: 20px; flex-wrap: wrap; }
html[data-rm-ws][data-rm-app] .rm-ws-foot a { color: var(--rm-ink-2); text-decoration: none; }
html[data-rm-ws][data-rm-app] .rm-ws-foot a:hover { color: var(--rm-ink); }
/* sections as a segmented control */
html[data-rm-ws][data-rm-app] .ws-study-nav { border: 0 !important; margin: 0 0 24px !important; display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav { display: inline-flex !important; gap: 2px !important; padding: 4px !important; border-radius: 14px !important; background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav .ws-study-nav-item {
  height: 40px !important; padding: 0 20px !important; border: 0 !important; border-radius: 10px !important; margin: 0 !important;
  color: var(--rm-ink-2) !important; font: 500 15px/1 var(--rm-font) !important; background: transparent !important;
}
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav .ws-study-nav-item svg { display: none !important; }
html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav .ws-study-nav-item.is-active { background: var(--rm-paper) !important; color: var(--rm-ink) !important; font-weight: 600 !important; box-shadow: 0 1px 2px rgba(20, 18, 14, .08) !important; }
html[data-rm-ws][data-rm-app][data-theme="dark"] .ws-study-nav .ws-context-nav .ws-study-nav-item.is-active { background: #2B271F !important; }
@media (min-width: 1024px) {
  html[data-rm-ws][data-rm-app].is-lab-surface .ws-study-nav { position: absolute; top: 130px; right: max(24px, calc((100% - 1272px) / 2)); margin: 0 !important; z-index: 5; }
}
/* hero */
html[data-rm-ws][data-rm-app] .lab-hero { max-width: 660px; margin: 0 0 28px; }
html[data-rm-ws][data-rm-app] .lab-hero-kicker { margin: 0 0 8px; font: 600 14px/1.3 var(--rm-font); color: var(--rm-green); }
html[data-rm-ws][data-rm-app] .lab-hero .lab-hero-title { margin: 0 0 12px !important; font: 700 clamp(32px, 3.4vw, 48px)/1.08 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-hero-lead { margin: 0; font: 400 17px/1.55 var(--rm-font); color: var(--rm-ink-2); }
/* toolbar card */
html[data-rm-ws][data-rm-app] .lab-board-bar { padding: 10px 12px !important; margin: 0 0 24px !important; border: 1px solid var(--rm-line); border-radius: 18px; background: var(--rm-paper); flex-wrap: nowrap !important; gap: 10px !important; }
html[data-rm-ws][data-rm-app] .lab-board-bar .lab-tool-btn { width: 42px !important; height: 42px !important; }
html[data-rm-ws][data-rm-app] .lab-bar-title { display: flex; align-items: center; gap: 10px; padding-right: 12px; margin-right: 2px; border-right: 1px solid var(--rm-line); white-space: nowrap; }
html[data-rm-ws][data-rm-app] .lab-bar-title strong { font-size: 17px !important; }
html[data-rm-ws][data-rm-app] .lab-save-pill { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px; border-radius: 999px; background: var(--rm-green-soft); color: var(--rm-green); font: 600 12.5px/1 var(--rm-font); white-space: nowrap; }
html[data-rm-ws][data-rm-app] .lab-save-pill > i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
html[data-rm-ws][data-rm-app] .lab-save-pill .lab-save-state { font: inherit !important; color: inherit !important; }
html[data-rm-ws][data-rm-app] .lab-save-pill .lab-save-state.is-pending { opacity: .7; }
html[data-rm-ws][data-rm-app] .lab-save-pill .lab-bar-note { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; font: inherit !important; color: inherit !important; text-transform: lowercase; }
html[data-rm-ws][data-rm-app] .lab-bar-search { position: relative; flex: 1 1 auto; display: flex; gap: 10px; min-width: 0; margin: 0 !important; }
html[data-rm-ws][data-rm-app] .lab-search-ico { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: var(--rm-ink-2); display: inline-flex; pointer-events: none; }
html[data-rm-ws][data-rm-app] .lab-bar-search input { flex: 1 1 auto; min-width: 0; height: 46px !important; padding-left: 40px !important; background: var(--rm-bg) !important; }
html[data-rm-ws][data-rm-app] .lab-board-bar .ws-btn, html[data-rm-ws][data-rm-app] .lab-board-bar .lab-icon-btn { height: 46px !important; min-height: 46px !important; }
html[data-rm-ws][data-rm-app] .lab-board-bar .lab-icon-btn { width: 46px !important; }
html[data-rm-ws][data-rm-app] .lab-board-bar .lab-toolbar { flex: none; gap: 8px; }
/* three columns */
html[data-rm-ws][data-rm-app] .lab-stage-shell { display: grid !important; grid-template-columns: 232px minmax(0, 1fr) 348px; gap: 16px !important; height: clamp(560px, calc(100vh - 210px), 720px); align-items: stretch; }
html[data-rm-ws][data-rm-app].is-lab-surface .lab-stage-shell { flex: none; }
html[data-rm-ws][data-rm-app] .lab-stage-frame { min-height: 0; }
html[data-rm-ws][data-rm-app] .lab-stage-shell .lab-board-stage,
html[data-rm-ws][data-rm-app].is-lab-surface .lab-board-stage { height: 100% !important; border-radius: 18px !important; }
/* left: add-to-bench panel */
html[data-rm-ws][data-rm-app] .lab-dock { display: flex !important; flex-direction: column; gap: 0 !important; min-height: 0; padding: 14px; border: 1px solid var(--rm-line); border-radius: 18px; background: var(--rm-paper); overflow-y: auto; scrollbar-width: thin; }
html[data-rm-ws][data-rm-app] .lab-dock-rail { display: flex !important; flex-direction: column; gap: 2px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; overflow: visible !important; }
html[data-rm-ws][data-rm-app] .lab-dock-modes { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; padding: 4px; margin: 0 0 12px; border-radius: 12px; background: var(--rm-surface); }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn.lab-dock-mode { flex-direction: row !important; justify-content: center !important; width: auto !important; min-height: 40px !important; gap: 6px !important; padding: 0 8px !important; border-radius: 9px !important; background: transparent !important; color: var(--rm-ink-2) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn.lab-dock-mode .lab-dock-icon { width: 16px; height: 16px; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn.lab-dock-mode .lab-dock-name { font: 500 14px/1 var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn.lab-dock-mode.is-on { background: var(--rm-paper) !important; color: var(--rm-ink) !important; box-shadow: 0 1px 2px rgba(20, 18, 14, .08) !important; }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-dock-rail .lab-dock-btn.lab-dock-mode.is-on { background: #2B271F !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rule { display: none !important; }
html[data-rm-ws][data-rm-app] .lab-dock-label { margin: 2px 10px 6px; font: 600 13px/1.3 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode) {
  flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; gap: 12px !important;
  width: 100% !important; min-height: 46px !important; padding: 6px 10px 6px 6px !important; border-radius: 12px !important;
  border: 0 !important; background: transparent !important; color: var(--rm-ink) !important; text-align: left;
}
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode) .lab-dock-icon { flex: none; width: 32px; height: 32px; padding: 7px; border-radius: 9px; background: var(--rm-surface); box-sizing: border-box; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode) .lab-dock-name { flex: 1 1 auto; font: 500 15px/1.25 var(--rm-font) !important; text-align: left !important; letter-spacing: 0 !important; }
html[data-rm-ws][data-rm-app] .lab-dock-count { flex: none; font: 500 12px/1 var(--rm-mono); color: var(--rm-ink-3); }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode):hover { background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode).is-on { background: var(--rm-surface) !important; font-weight: 600; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode).is-on .lab-dock-name { font-weight: 700 !important; }
html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode).is-on .lab-dock-icon { background: var(--rm-paper); }
html[data-rm-ws][data-rm-app] .lab-dock-dot { top: 6px !important; left: 30px; right: auto !important; }
html[data-rm-ws][data-rm-app] .lab-dock-panel { position: static !important; width: auto !important; max-height: none !important; margin: 2px 0 8px; padding: 0 0 0 44px; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; overflow: visible !important; }
html[data-rm-ws][data-rm-app] .lab-dock-head { padding: 0 !important; border: 0 !important; justify-content: flex-end !important; min-height: 0; }
html[data-rm-ws][data-rm-app] .lab-dock-head h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
html[data-rm-ws][data-rm-app] .lab-dock-close { width: 24px !important; height: 24px !important; font-size: 16px !important; color: var(--rm-ink-3) !important; margin: -4px 0 0; }
html[data-rm-ws][data-rm-app] .lab-dock-body { padding: 0 !important; overflow: visible !important; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chips { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-eq { display: flex !important; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 36px !important; padding: 6px 8px !important; border: 0 !important; border-radius: 8px !important; background: none !important; text-align: left; font: 500 14px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-eq:hover { background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-eq.is-wanted { background: var(--rm-green-soft) !important; color: var(--rm-green) !important; }
html[data-rm-ws][data-rm-app] .lab-chip-cap { flex: none; font: 500 12px/1 var(--rm-mono); color: var(--rm-ink-3); }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-group { margin: 0 0 8px; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-group-title { display: block; margin: 6px 0 4px 8px; font: 600 12px var(--rm-font); color: var(--rm-ink-3); letter-spacing: 0; text-transform: none; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip:not(.lab-chip-eq) { justify-content: flex-start; width: 100%; min-height: 34px !important; padding: 6px 8px !important; border: 0 !important; border-radius: 8px !important; background: none !important; font: 500 14px var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip:not(.lab-chip-eq):hover { background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-note { margin: 6px 8px 0 !important; font: 400 12px/1.4 var(--rm-font) !important; color: var(--rm-ink-3) !important; }
html[data-rm-ws][data-rm-app] .lab-dock-tip { margin: auto 0 0; padding: 12px 14px; border-radius: 12px; background: var(--rm-surface); font: 400 13px/1.5 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm-ws][data-rm-app] .lab-dock-rail + .lab-dock-tip { margin-top: 16px; }
/* stage chips */
html[data-rm-ws][data-rm-app] .lab-count-chip { position: absolute; top: 14px; left: 14px; z-index: 4; padding: 5px 10px; border: 1px solid var(--rm-line); border-radius: 999px; background: var(--rm-paper); font: 500 12.5px/1 var(--rm-font); color: var(--rm-ink-2); pointer-events: none; }
html[data-rm-ws][data-rm-app] .lab-last-step { position: absolute; left: 14px; bottom: 14px; z-index: 4; max-width: calc(100% - 280px); margin: 0; padding: 9px 14px; border: 1px solid var(--rm-line); border-radius: 12px; background: var(--rm-paper); font: 400 13px/1.35 var(--rm-font); color: var(--rm-ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
html[data-rm-ws][data-rm-app] .lab-last-step b { color: var(--rm-ink); font-weight: 600; }
html[data-rm-ws][data-rm-app] .lab-stage-frame > .lab-hint { display: none !important; }
html[data-rm-ws][data-rm-app] .lab-hud-right { right: 14px !important; bottom: 14px !important; }
/* right: dark inspector */
html[data-rm-ws][data-rm-app] .lab-side { display: flex !important; flex-direction: column; min-height: 0; padding: 14px !important; border: 0 !important; border-radius: 18px !important; background: #14120E !important; color: #F2EFE7 !important; box-shadow: none !important; }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-side { background: #1B1915 !important; box-shadow: 0 0 0 1px var(--rm-line) !important; }
html[data-rm-ws][data-rm-app] .lab-side-tabs { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 2px !important; padding: 4px !important; border: 1px solid rgba(242, 239, 231, .1) !important; border-radius: 12px; background: rgba(242, 239, 231, .04) !important; }
html[data-rm-ws][data-rm-app] .lab-side-tabs button { height: 38px !important; min-height: 0 !important; padding: 0 6px !important; border: 0 !important; border-radius: 9px !important; margin: 0 !important; color: #BEB8A8 !important; font: 500 13.5px/1 var(--rm-font) !important; white-space: nowrap; }
html[data-rm-ws][data-rm-app] .lab-side-tabs button.is-on, html[data-rm-ws][data-rm-app] .lab-side-tabs button[aria-selected="true"] { background: #3A352B !important; color: #F2EFE7 !important; font-weight: 600 !important; }
html[data-rm-ws][data-rm-app] .lab-side-body { flex: 1 1 auto; min-height: 0; padding: 18px 4px 4px !important; overflow-y: auto; color: #F2EFE7 !important; scrollbar-width: thin; }
html[data-rm-ws][data-rm-app] .lab-side-body [data-lab-inspector] { display: flex; flex-direction: column; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-insp-head { position: relative; display: flex; flex-direction: column; gap: 4px; padding: 0 0 16px; border-bottom: 1px solid rgba(242, 239, 231, .12); }
html[data-rm-ws][data-rm-app] .lab-insp-k { font: 400 12.5px var(--rm-font); color: #A9A392; }
html[data-rm-ws][data-rm-app] .lab-insp-name { font: 700 19px/1.2 var(--rm-font); color: #F2EFE7; }
html[data-rm-ws][data-rm-app] .lab-insp-cap { position: absolute; top: 0; right: 0; padding: 4px 8px; border: 1px solid rgba(242, 239, 231, .25); border-radius: 8px; font: 500 12px/1 var(--rm-mono); color: #DAD5C8; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(242, 239, 231, .1); font: 400 14px var(--rm-font); }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv > span { color: #BEB8A8 !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv > strong { color: #F2EFE7 !important; font: 500 14px var(--rm-mono) !important; text-align: right; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv.lab-kv-ph { align-items: baseline; justify-content: flex-start; gap: 10px; padding: 16px 0 14px; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv.lab-kv-ph > span { font-size: 15px; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv.lab-kv-ph > strong { font: 600 56px/1 var(--rm-mono) !important; color: #3DBE84 !important; letter-spacing: -0.02em; text-align: left; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv.lab-kv-ph > em { margin-left: auto; font: 400 14px var(--rm-font); font-style: normal; color: #BEB8A8; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv.lab-kv-vol { border-bottom: 0; padding-bottom: 8px; }
html[data-rm-ws][data-rm-app] .lab-volbar { height: 6px; margin: 0 0 6px; border-radius: 3px; background: rgba(242, 239, 231, .12); overflow: hidden; }
html[data-rm-ws][data-rm-app] .lab-volbar > i { display: block; height: 100%; border-radius: 3px; background: #3DBE84; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-kv.lab-kv-stack { border-bottom: 0; padding-bottom: 4px; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-contents { margin: 0; padding: 0 0 10px; list-style: none; border-bottom: 1px solid rgba(242, 239, 231, .1); }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-content-row { display: flex; align-items: center; gap: 8px; padding: 4px 0; font: 400 14px var(--rm-font); color: #F2EFE7; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-content-row b { margin-left: auto; font: 500 13px var(--rm-mono); }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-content-drop { border: 0 !important; background: none !important; color: #A9A392 !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .ws-lede { margin: 10px 0 0 !important; font: 400 12px/1.5 var(--rm-font) !important; color: #8E8978 !important; max-width: none !important; }
html[data-rm-ws][data-rm-app] .lab-insp-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 18px 0 6px; order: 50; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-insp-actions .ws-btn { height: 44px !important; min-height: 44px !important; padding: 0 10px !important; justify-content: center; border: 1px solid rgba(242, 239, 231, .16) !important; border-radius: 10px !important; background: rgba(242, 239, 231, .03) !important; color: #F2EFE7 !important; font: 600 14.5px/1 var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-insp-actions .ws-btn:hover, html[data-rm-ws][data-rm-app] .lab-side-body .lab-insp-actions .ws-btn.is-on { background: rgba(242, 239, 231, .1) !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-measures { order: 51; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-measures .ws-btn { height: 30px !important; min-height: 30px !important; padding: 0 10px !important; border: 1px solid rgba(242, 239, 231, .12) !important; border-radius: 8px !important; background: none !important; color: #BEB8A8 !important; font: 500 12.5px/1 var(--rm-font) !important; }
html[data-rm-ws][data-rm-app] .lab-side-body > [data-lab-inspector-pane] .ws-lede:last-of-type { order: 60; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-reaction, html[data-rm-ws][data-rm-app] .lab-side-body .lab-rig, html[data-rm-ws][data-rm-app] .lab-side-body .lab-multi { margin: 12px 0 0; padding: 12px; border-radius: 12px; background: rgba(242, 239, 231, .06); color: #F2EFE7; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-reaction-tag { color: #3DBE84 !important; font: 700 12px var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-notes { color: #F2EFE7; font: 400 13.5px/1.5 var(--rm-font); }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-notes time { color: #A9A392; font-family: var(--rm-mono); }
html[data-rm-ws][data-rm-app] .lab-side-body [data-lab-guide-host] { color: #F2EFE7; }
html[data-rm-ws][data-rm-app] .lab-side-body [data-lab-guide-host] h2, html[data-rm-ws][data-rm-app] .lab-side-body [data-lab-guide-host] h3 { color: #F2EFE7 !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-do-chip { border-color: rgba(242, 239, 231, .2) !important; background: rgba(242, 239, 231, .05) !important; color: #F2EFE7 !important; }
html[data-rm-ws][data-rm-app] .lab-side-body .lab-pour-hint { color: #3DBE84 !important; }
/* guided experiments */
html[data-rm-ws][data-rm-app] .lab-guided { margin: 56px 0 0; }
html[data-rm-ws][data-rm-app] .lab-guided-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin: 0 0 16px; }
html[data-rm-ws][data-rm-app] .lab-guided-head h2 { margin: 0 0 4px !important; font: 700 26px/1.2 var(--rm-font) !important; letter-spacing: -0.02em !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-guided-head p { margin: 0; font: 400 15px var(--rm-font); color: var(--rm-ink-2); }
html[data-rm-ws][data-rm-app] .lab-guided-all { font: 600 15px var(--rm-font); color: var(--rm-green); text-decoration: none; white-space: nowrap; }
html[data-rm-ws][data-rm-app] .lab-guided-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
html[data-rm-ws][data-rm-app] .lab-guided-card { display: flex; flex-direction: column; gap: 10px; padding: 20px; border: 1px solid var(--rm-line); border-radius: 16px; background: var(--rm-paper); }
html[data-rm-ws][data-rm-app] .lab-guided-level { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: var(--rm-green-soft); color: var(--rm-green); font: 600 12px/1.2 var(--rm-font); }
html[data-rm-ws][data-rm-app] .lab-guided-level.is-mid { background: #F2DFB8; color: #7A4E0E; }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-guided-level.is-mid { background: #3B2F18; color: #E9C77F; }
html[data-rm-ws][data-rm-app] .lab-guided-card h3 { margin: 0 !important; font: 700 18px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .lab-guided-card p { margin: 0; font: 400 14.5px/1.5 var(--rm-font); color: var(--rm-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
html[data-rm-ws][data-rm-app] .lab-guided-foot { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 10px; }
html[data-rm-ws][data-rm-app] .lab-guided-foot > span { font: 500 13px var(--rm-mono); color: var(--rm-ink-3); }
html[data-rm-ws][data-rm-app] .lab-guided-go { border: 0; background: none; padding: 4px 0; color: var(--rm-green); font: 600 14.5px var(--rm-font); cursor: pointer; }
/* focus mode: the bench takes the page */
html[data-rm-ws][data-rm-app].is-lab-focus .lab-hero,
html[data-rm-ws][data-rm-app].is-lab-focus .lab-guided,
html[data-rm-ws][data-rm-app].is-lab-focus .ws-study-nav,
html[data-rm-ws][data-rm-app].is-lab-focus .rm-ws-foot { display: none !important; }
html[data-rm-ws][data-rm-app].is-lab-focus .ws-main { padding-top: 16px !important; }
html[data-rm-ws][data-rm-app].is-lab-focus .lab-stage-shell { height: calc(100vh - 68px - 120px); }
/* medium and small screens */
@media (max-width: 1180px) {
  html[data-rm-ws][data-rm-app] .lab-stage-shell { grid-template-columns: 210px minmax(0, 1fr) 300px; }
  html[data-rm-ws][data-rm-app] .lab-guided-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-rm-ws][data-rm-app] .lab-board-bar { flex-wrap: wrap !important; }
  html[data-rm-ws][data-rm-app] .lab-bar-search { order: 5; flex-basis: 100%; }
}
@media (max-width: 1023px) {
  html[data-rm-ws][data-rm-app] .ws-main, html[data-rm-ws][data-rm-app].is-lab-surface .ws-main { padding: 24px 16px 96px !important; }
  html[data-rm-ws][data-rm-app] .lab-stage-shell { display: flex !important; flex-direction: column; height: auto; }
  html[data-rm-ws][data-rm-app] .lab-stage-frame { order: 1; }
  html[data-rm-ws][data-rm-app] .lab-dock { order: 2; overflow: visible; }
  html[data-rm-ws][data-rm-app] .lab-side { order: 3; }
  html[data-rm-ws][data-rm-app] .lab-stage-shell .lab-board-stage, html[data-rm-ws][data-rm-app].is-lab-surface .lab-board-stage { height: clamp(380px, 56vh, 520px) !important; }
  html[data-rm-ws][data-rm-app] .lab-dock-rail { flex-direction: row !important; flex-wrap: wrap; gap: 8px !important; }
  html[data-rm-ws][data-rm-app] .lab-dock-modes, html[data-rm-ws][data-rm-app] .lab-dock-tip { display: none; }
  html[data-rm-ws][data-rm-app] .lab-dock-label { flex-basis: 100%; margin: 0 0 4px; font-size: 17px; font-weight: 700; color: var(--rm-ink); }
  html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode) { width: auto !important; min-height: 40px !important; padding: 0 14px !important; border: 1px solid var(--rm-line-strong) !important; border-radius: 999px !important; }
  html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode) .lab-dock-icon, html[data-rm-ws][data-rm-app] .lab-dock-count { display: none; }
  html[data-rm-ws][data-rm-app] .lab-dock-rail .lab-dock-btn:not(.lab-dock-mode).is-on { background: var(--rm-ink) !important; color: var(--rm-bg) !important; border-color: var(--rm-ink) !important; }
  html[data-rm-ws][data-rm-app] .lab-dock-panel { order: 99; flex-basis: 100%; padding: 6px 0 0; }
  html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chips { flex-direction: row; overflow-x: auto; gap: 10px; padding-bottom: 6px; scrollbar-width: none; }
  html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-eq { flex: 0 0 128px; flex-direction: column; align-items: flex-start !important; min-height: 92px !important; padding: 14px !important; border: 1px solid var(--rm-line) !important; border-radius: 14px !important; background: var(--rm-paper) !important; }
  html[data-rm-ws][data-rm-app] .lab-guided-grid { grid-template-columns: minmax(0, 1fr); }
  html[data-rm-ws][data-rm-app] .lab-guided-head { align-items: center; }
  html[data-rm-ws][data-rm-app] .lab-guided-head p { display: none; }
  html[data-rm-ws][data-rm-app] .lab-hero-lead { font-size: 16px; }
  html[data-rm-ws][data-rm-app] .lab-last-step { display: none; }
  html[data-rm-ws][data-rm-app] .rm-ws-foot { margin-top: 40px; }
}
@media (max-width: 560px) {
  html[data-rm-ws][data-rm-app] .lab-bar-title { border-right: 0; padding-right: 0; }
  html[data-rm-ws][data-rm-app] .lab-board-bar { padding: 10px !important; }
  html[data-rm-ws][data-rm-app] .lab-board-bar .lab-toolbar { width: 100%; }
  html[data-rm-ws][data-rm-app] .lab-board-bar .lab-toolbar .ws-btn { flex: 1 1 auto; }
  html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav { display: grid !important; grid-template-columns: repeat(3, 1fr); width: 100%; }
  html[data-rm-ws][data-rm-app] .ws-study-nav .ws-context-nav .ws-study-nav-item { padding: 0 8px !important; justify-content: center; font-size: 14px !important; }
}

@media (min-width: 1200px) {
  html[data-rm-ws][data-rm-app] header.ws-topbar.rm-header { padding: 0 !important; gap: 0 !important; }
  html[data-rm-ws][data-rm-app] .ws-topbar [data-i18n-toggle] { display: none !important; }
  html[data-rm-ws][data-rm-app] .rm-ws-signin { padding: 0 9px; font: 500 14px/1 var(--rm-font); }
  html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip,
  html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip.is-guest-cta {
    height: 44px !important; min-height: 44px !important; padding: 0 12px !important;
    font: 600 14px/1 var(--rm-font) !important; border-radius: 10px !important;
  }
}
@media (max-width: 560px) {
  html[data-rm-ws][data-rm-app] .ws-topbar-actions:has(.is-guest-cta) .rm-ws-signin { display: none; }
  html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip.is-guest-cta { height: 38px; padding: 0 12px !important; font-size: 14px !important; white-space: nowrap; }
  html[data-rm-ws][data-rm-app] .ws-brand-name { font-size: 18px !important; }
}
@media (max-width: 400px) {
  html[data-rm] .rm-cta.is-guest-cta,
  html[data-rm-ws] .ws-userchip.is-guest-cta,
  html[data-rm-ws][data-rm-app] .ws-topbar .ws-userchip.is-guest-cta {
    width: 44px !important;
    min-width: 44px;
    height: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    justify-content: center;
    overflow: hidden;
  }
  html[data-rm] .rm-cta.is-guest-cta::before,
  html[data-rm-ws] .ws-userchip.is-guest-cta::before {
    content: "+";
    font-size: 22px;
    line-height: 1;
  }
  html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chips {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip,
  html[data-rm-ws][data-rm-app] .lab-dock-body .lab-chip-eq {
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
  }
  html[data-rm-ws], html[data-rm-ws] body { overflow-x: clip; max-width: 100%; }
  html[data-rm-ws][data-rm-app] .ws-topbar { max-width: 100%; box-sizing: border-box; }
  html[data-rm-ws][data-rm-app] .lab-context {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    bottom: 72px !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    overflow-x: auto !important;
    flex-wrap: wrap !important;
    z-index: 30;
  }
  html[data-rm-ws][data-rm-app] .lab-context .lab-tool-btn {
    flex-direction: column;
    min-width: 44px;
    height: auto;
    min-height: 48px;
    gap: 2px;
    font-size: 10px;
  }
  html[data-rm-ws][data-rm-app] .lab-context .lab-tool-btn::after {
    content: attr(data-short);
    max-width: 52px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  html[data-rm-ws][data-rm-app] .ws-brand-name { font-size: 18px !important; }
}

/* viewers: content may widen; the top bar stays the system site header width */
html[data-rm]:has(.viewer > .canvas-wrap) .rm-footer-in { max-width: 1200px !important; }
/* zoom menu opens above the floating selection toolbar */
html[data-rm-ws][data-rm-app] .lab-hud-right { z-index: 40 !important; }

/* 9f ── Estudo: jornada (design "Estudo (jornada)") ─────────────────── */
html[data-rm-ws][data-rm-app] .has-journey > .ws-crumb,
html[data-rm-ws][data-rm-app] .has-journey .ws-study-hub > .ws-kicker,
html[data-rm-ws][data-rm-app] .has-journey .ws-study-hub > h1.ws-title,
html[data-rm-ws][data-rm-app] .has-journey .ws-study-hub > h1.ws-title + .ws-lede,
html[data-rm-ws][data-rm-app] .has-journey .ws-study-hub > .ws-lab-hero { display: none !important; }
html[data-rm-ws][data-rm-app] .has-journey .ws-study-hub { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--rm-line); }
@media (min-width: 1024px) {
  html[data-rm-ws][data-rm-app]:has(.rm-jn) .ws-study-nav { position: absolute; top: 96px; right: max(24px, calc((100% - 1272px) / 2)); margin: 0 !important; z-index: 5; }
}
html[data-rm-ws][data-rm-app] .rm-jn .lab-hero { margin-bottom: 24px; }
.rm-jn-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start; }
.rm-jn-side { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 14px; }
/* unit headers */
.rm-jn-unitwrap + .rm-jn-unitwrap { margin-top: 28px; }
.rm-jn-unit { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 24px; border-radius: 18px; background: var(--rm-surface); }
.rm-jn-unit.is-done { background: var(--rm-green-soft); }
.rm-jn-unit.is-current { background: #14120E; color: #F2EFE7; }
html[data-theme="dark"] .rm-jn-unit.is-current { background: #1B1915; box-shadow: 0 0 0 1px var(--rm-line); }
.rm-jn-unit-k { margin: 0 0 4px; font: 700 12px/1.2 var(--rm-font); letter-spacing: .06em; text-transform: uppercase; color: var(--rm-ink-2); }
.rm-jn-unit.is-done .rm-jn-unit-k, .rm-jn-unit.is-current .rm-jn-unit-k { color: var(--rm-green); }
.rm-jn-unit.is-current .rm-jn-unit-k { color: #3DBE84; }
.rm-jn-unit h2 { margin: 0 !important; font: 700 22px/1.25 var(--rm-font) !important; letter-spacing: -0.01em !important; color: inherit !important; }
.rm-jn-unit-s { margin: 4px 0 0; font: 400 14px/1.4 var(--rm-font); color: var(--rm-ink-2); }
.rm-jn-unit.is-current .rm-jn-unit-s { color: #BEB8A8; }
.rm-jn-unit-bar { width: min(320px, 60vw); height: 6px; margin-top: 12px; border-radius: 3px; background: rgba(242, 239, 231, .14); overflow: hidden; }
.rm-jn-unit-bar i { display: block; height: 100%; background: #3DBE84; border-radius: 3px; }
.rm-jn-guide { flex: none; display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px; border: 1px solid var(--rm-line-strong); border-radius: 10px; background: var(--rm-paper); color: var(--rm-ink); font: 600 14px var(--rm-font); text-decoration: none; }
.rm-jn-unit.is-current .rm-jn-guide { background: transparent; border-color: rgba(242, 239, 231, .25); color: #F2EFE7; }
/* path */
.rm-jn-path { display: flex; flex-direction: column; align-items: center; gap: 26px; padding: 26px 0 8px; }
.rm-jn-row { position: relative; display: flex; flex-direction: column; align-items: center; transform: translateX(var(--off, 0)); }
.rm-jn-node { position: relative; display: grid; place-items: center; width: 74px; height: 74px; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.rm-jn-dot { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--rm-surface); color: var(--rm-ink-3); box-shadow: inset 0 -4px 0 rgba(20, 18, 14, .08); transition: transform .12s; }
.rm-jn-node:hover .rm-jn-dot { transform: translateY(-1px); }
.rm-jn-node.is-done .rm-jn-dot { background: var(--rm-green); color: #fff; box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .18); }
.rm-jn-node.is-current .rm-jn-dot, .rm-jn-node.is-open .rm-jn-dot { background: var(--rm-paper); color: var(--rm-green); box-shadow: 0 0 0 3px var(--rm-paper), 0 0 0 6px var(--rm-green); }
.rm-jn-node.is-current.is-practice .rm-jn-dot { box-shadow: none; }
.rm-jn-node.is-current.is-practice::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(var(--rm-green) calc(var(--p, 0) * 1%), var(--rm-line-strong) 0); -webkit-mask: radial-gradient(circle, transparent 31px, #000 32px); mask: radial-gradient(circle, transparent 31px, #000 32px); }
.rm-jn-node.is-locked { cursor: default; }
.rm-jn-node.is-locked .rm-jn-dot { background: var(--rm-surface); color: var(--rm-ink-3); box-shadow: inset 0 0 0 1px var(--rm-line); }
.rm-jn-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); z-index: 2; padding: 3px 9px; border-radius: 999px; background: var(--rm-green); color: #fff; font: 700 12px/1.2 var(--rm-font); white-space: nowrap; }
.rm-jn-name { margin-top: 8px; max-width: 220px; font: 700 14.5px/1.3 var(--rm-font); color: var(--rm-ink); text-align: center; }
.rm-jn-node.is-locked ~ .rm-jn-name { color: var(--rm-ink-2); }
.rm-jn-kind { margin-top: 2px; font: 700 11px/1.2 var(--rm-font); letter-spacing: .08em; text-transform: uppercase; color: var(--rm-ink-3); }
.rm-jn-pop { position: relative; z-index: 3; width: min(320px, 86vw); margin-top: 14px; padding: 16px; border-radius: 14px; background: #14120E; color: #F2EFE7; box-shadow: var(--rm-shadow-pop); text-align: left; }
html[data-theme="dark"] .rm-jn-pop { background: #26221B; box-shadow: 0 0 0 1px var(--rm-line), var(--rm-shadow-pop); }
.rm-jn-pop::before { content: ""; position: absolute; top: -7px; left: 50%; width: 14px; height: 14px; background: inherit; transform: translateX(-50%) rotate(45deg); border-radius: 3px; }
.rm-jn-pop-k { margin: 0 0 4px; font: 400 12.5px var(--rm-font); color: #A9A392; }
.rm-jn-pop strong { display: block; font: 700 16px/1.3 var(--rm-font); }
.rm-jn-pop-t { margin: 6px 0 12px; font: 400 13.5px/1.45 var(--rm-font); color: #BEB8A8; }
.rm-jn-pop.is-locked .rm-jn-pop-t { margin-bottom: 0; }
.rm-jn-go { display: block; width: 100%; height: 44px; border: 0; border-radius: 10px; background: #3DBE84; color: #0D2A1D; font: 700 15px var(--rm-font); cursor: pointer; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .15); }
.rm-jn-go:disabled { background: rgba(242, 239, 231, .12); color: #A9A392; box-shadow: none; cursor: default; }
.rm-jn-row--reading { transform: none; width: min(380px, 100%); }
.rm-jn-reading { display: flex; gap: 12px; align-items: flex-start; width: 100%; padding: 14px 16px; border: 1px dashed var(--rm-line-strong); border-radius: 14px; background: var(--rm-paper); color: var(--rm-ink); text-decoration: none; }
.rm-jn-reading.is-done { border-style: solid; opacity: .75; }
.rm-jn-reading-ico { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: var(--rm-ink); color: var(--rm-bg); }
.rm-jn-reading-k { display: block; font: 700 11px/1.3 var(--rm-font); letter-spacing: .06em; text-transform: uppercase; color: var(--rm-green); }
.rm-jn-reading strong { display: block; font: 700 15px/1.3 var(--rm-font); }
.rm-jn-reading-t { display: block; margin-top: 2px; font: 400 13px/1.45 var(--rm-font); color: var(--rm-ink-2); }
/* side column */
.rm-jn-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rm-jn-stat { padding: 12px; border: 1px solid var(--rm-line); border-radius: 14px; background: var(--rm-paper); }
.rm-jn-stat-k { display: flex; align-items: center; gap: 5px; font: 500 12px var(--rm-font); color: var(--rm-ink-2); }
.rm-jn-stat-k.is-fire svg { color: #D9762B; }
.rm-jn-stat b { display: block; margin-top: 6px; font: 600 22px/1.1 var(--rm-mono); color: var(--rm-ink); }
.rm-jn-stat small { font-size: 13px; color: var(--rm-ink-3); font-weight: 500; }
.rm-jn-card { padding: 16px; border: 1px solid var(--rm-line); border-radius: 16px; background: var(--rm-paper); }
.rm-jn-card-h { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 8px; }
.rm-jn-card-h h3 { margin: 0 !important; font: 700 16px var(--rm-font) !important; color: var(--rm-ink) !important; }
.rm-jn-card-h span { font: 500 12px var(--rm-mono); color: var(--rm-ink-3); }
.rm-jn-card-h a { font: 600 13.5px var(--rm-font); color: var(--rm-green); text-decoration: none; }
.rm-jn-mission { padding: 10px 0; border-top: 1px solid var(--rm-line); }
.rm-jn-mission:first-of-type { border-top: 0; }
.rm-jn-mission > div:first-child { display: flex; justify-content: space-between; gap: 10px; font: 600 14px/1.35 var(--rm-font); color: var(--rm-ink); }
.rm-jn-mission-n { font: 500 12px var(--rm-mono); color: var(--rm-ink-3); }
.rm-jn-bar { height: 6px; margin-top: 8px; border-radius: 3px; background: var(--rm-surface); overflow: hidden; }
.rm-jn-bar i { display: block; height: 100%; border-radius: 3px; background: var(--rm-green); }
.rm-jn-review { border: 0; background: #14120E; color: #F2EFE7; }
html[data-theme="dark"] .rm-jn-review { background: #1B1915; box-shadow: 0 0 0 1px var(--rm-line); }
.rm-jn-review-k { margin: 0; font: 500 13px var(--rm-font); color: #BEB8A8; }
.rm-jn-review-n { display: flex; align-items: baseline; gap: 10px; margin: 6px 0; }
.rm-jn-review-n b { font: 600 44px/1 var(--rm-mono); color: #3DBE84; }
.rm-jn-review-n span { font: 400 14px var(--rm-font); color: #DAD5C8; }
.rm-jn-review-t { margin: 0 0 12px; font: 400 12.5px/1.5 var(--rm-font); color: #A9A392; }
.rm-jn-free-item { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--rm-line); border-radius: 12px; background: var(--rm-bg); color: var(--rm-ink); font: 600 14px var(--rm-font); text-align: left; text-decoration: none; cursor: pointer; }
.rm-jn-free-item:hover { background: var(--rm-surface); }
.rm-jn-free-ico { display: grid; place-items: center; min-width: 32px; height: 28px; padding: 0 6px; border-radius: 7px; background: var(--rm-green-soft); color: var(--rm-green); font: 700 12px var(--rm-font); }
.rm-jn-free-ico.is-mono { background: var(--rm-surface); color: var(--rm-ink-2); font: 500 10.5px var(--rm-mono); }
.rm-jn-free-ico.is-set { background: #E4DCF0; color: #5B4BA0; }
html[data-theme="dark"] .rm-jn-free-ico.is-set { background: #2E2740; color: #C9BDF2; }
@media (max-width: 1023px) {
  .rm-jn-grid { display: flex; flex-direction: column; }
  .rm-jn-side { position: static; order: -1; display: contents; }
  .rm-jn-stats { order: -2; }
  .rm-jn-main { order: 0; width: 100%; }
  .rm-jn-missions, .rm-jn-review, .rm-jn-free { order: 1; }
  .rm-jn-unit { flex-wrap: wrap; padding: 18px; }
  .rm-jn-guide { display: none; }
}
/* lesson player */
html.rm-lesson-open, html.rm-lesson-open body { overflow: hidden; }
.rm-lesson { position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: column; background: var(--rm-bg); color: var(--rm-ink); font-family: var(--rm-font); }
.rm-lesson-top { display: flex; align-items: center; gap: 20px; width: min(1000px, 100%); margin: 0 auto; padding: 28px 24px 0; box-sizing: border-box; }
.rm-lesson-x { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 10px; background: none; color: var(--rm-ink-2); cursor: pointer; }
.rm-lesson-x:hover { background: var(--rm-surface); }
.rm-lesson-bar { flex: 1; height: 14px; border-radius: 7px; background: var(--rm-surface); overflow: hidden; }
.rm-lesson-bar i { display: block; height: 100%; border-radius: 7px; background: var(--rm-green); transition: width .25s; }
.rm-lesson-count { font: 500 14px var(--rm-mono); color: var(--rm-ink-2); }
.rm-lesson-body { flex: 1; width: min(640px, 100%); margin: 0 auto; padding: 64px 24px 24px; box-sizing: border-box; overflow-y: auto; }
.rm-lesson-chip { display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--rm-green-soft); color: var(--rm-green); font: 700 12px/1.2 var(--rm-font); letter-spacing: .06em; text-transform: uppercase; }
.rm-lesson-q { margin: 22px 0 24px !important; font: 700 clamp(24px, 3vw, 32px)/1.25 var(--rm-font) !important; letter-spacing: -0.02em !important; color: var(--rm-ink) !important; }
.rm-lesson-hint, .rm-lesson-teach { display: flex; align-items: center; gap: 20px; margin: 0 0 28px; }
.rm-lesson-teach p, .rm-lesson-hint p { margin: 0; font: 400 16.5px/1.6 var(--rm-font); color: var(--rm-ink-2); }
.rm-lesson-teach p { font-size: 18px; color: var(--rm-ink); }
.rm-lesson-tile { flex: none; display: flex; flex-direction: column; justify-content: space-between; width: 112px; height: 112px; padding: 12px; border: 1px solid #A9CDB8; border-radius: 14px; background: #CFE4D5; color: #14120E; box-sizing: border-box; }
.rm-lesson-tile span { font: 500 12px var(--rm-mono); color: #3D4A40; }
.rm-lesson-tile b { font: 700 40px/1 var(--rm-font); }
.rm-lesson-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rm-lesson-opt { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 18px; border: 2px solid var(--rm-line-strong); border-radius: 14px; background: var(--rm-paper); color: var(--rm-ink); font: 600 17px/1.3 var(--rm-font); text-align: left; cursor: pointer; box-shadow: 0 3px 0 var(--rm-line-strong); }
.rm-lesson-opt:hover:not(:disabled) { background: var(--rm-surface); }
.rm-lesson-key { flex: none; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--rm-line-strong); border-radius: 8px; font: 500 13px var(--rm-mono); color: var(--rm-ink-2); }
.rm-lesson-opt.is-picked { border-color: var(--rm-green); background: var(--rm-green-soft); box-shadow: 0 3px 0 var(--rm-green); }
.rm-lesson-opt.is-right { border-color: var(--rm-green); background: var(--rm-green-soft); box-shadow: 0 3px 0 var(--rm-green); }
.rm-lesson-opt.is-wrong { border-color: #C0452A; background: #F6DDD6; box-shadow: 0 3px 0 #C0452A; color: #6B1D0E; }
html[data-theme="dark"] .rm-lesson-opt.is-wrong { background: #3A1D16; color: #F3C7BC; }
.rm-lesson-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px max(24px, calc((100% - 1000px) / 2 + 24px)); border-top: 1px solid var(--rm-line); }
.rm-lesson-foot.is-ok { background: var(--rm-green-soft); border-top-color: transparent; }
.rm-lesson-foot.is-bad { background: #F6DDD6; border-top-color: transparent; }
html[data-theme="dark"] .rm-lesson-foot.is-bad { background: #3A1D16; }
.rm-lesson-fb { display: flex; flex-direction: column; gap: 4px; max-width: 640px; }
.rm-lesson-fb b { font: 700 19px var(--rm-font); color: var(--rm-green); }
.rm-lesson-foot.is-bad .rm-lesson-fb b { color: #A3361F; }
html[data-theme="dark"] .rm-lesson-foot.is-bad .rm-lesson-fb b { color: #F3A08C; }
.rm-lesson-fb span { font: 400 15px/1.45 var(--rm-font); color: var(--rm-ink); }
.rm-lesson-btn { min-width: 120px; height: 52px; padding: 0 24px; border: 1px solid var(--rm-line-strong); border-radius: 12px; background: var(--rm-paper); color: var(--rm-ink); font: 700 16px var(--rm-font); cursor: pointer; }
.rm-lesson-btn.is-primary { min-width: 180px; border-color: var(--rm-green); background: var(--rm-green); color: var(--rm-on-green); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .18); }
.rm-lesson-btn:disabled { border-color: transparent; background: var(--rm-surface); color: var(--rm-ink-3); box-shadow: none; cursor: default; }
.rm-lesson-done { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; flex: 1; padding: 24px; text-align: center; }
.rm-lesson-done-ico { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 50%; background: var(--rm-green); color: #fff; }
.rm-lesson-done-ico svg { width: 40px; height: 40px; }
.rm-lesson-done h2 { margin: 0 !important; font: 700 32px var(--rm-font) !important; color: var(--rm-ink) !important; }
.rm-lesson-done-stats { display: flex; gap: 12px; margin-bottom: 8px; }
.rm-lesson-done-stats div { min-width: 120px; padding: 14px; border: 1px solid var(--rm-line); border-radius: 14px; background: var(--rm-paper); }
.rm-lesson-done-stats span { display: block; font: 500 13px var(--rm-font); color: var(--rm-ink-2); }
.rm-lesson-done-stats b { font: 600 26px var(--rm-mono); color: var(--rm-green); }
@media (max-width: 640px) {
  .rm-lesson-top { padding: 16px 16px 0; gap: 12px; }
  .rm-lesson-body { padding: 32px 16px 16px; }
  .rm-lesson-opts { grid-template-columns: 1fr; }
  .rm-lesson-tile { width: 88px; height: 88px; }
  .rm-lesson-tile b { font-size: 30px; }
  .rm-lesson-foot { padding: 14px 16px; flex-wrap: wrap; }
  .rm-lesson-foot .rm-lesson-btn.is-primary { flex: 1; }
  .rm-lesson-foot > span:empty { display: none; }
}

/* 9g ── Meu trabalho (design "Meu trabalho") ───────────────────────── */
@media (min-width: 1024px) {
  html[data-rm-ws][data-rm-app]:has(.rm-work-hero) .ws-study-nav { position: absolute; top: 108px; right: max(24px, calc((100% - 1272px) / 2)); margin: 0 !important; z-index: 5; }
}
html[data-rm-ws][data-rm-app] #app-study:has(.rm-work-hero) > .ws-crumb { display: none !important; }
.rm-work-hero { margin-bottom: 28px; }
.rm-work-top { display: grid; grid-template-columns: minmax(0, 1fr) 384px; gap: 16px; margin-bottom: 28px; }
.rm-work-continue { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; padding: 24px; border: 1px solid var(--rm-line); border-radius: 20px; background: var(--rm-paper); }
.rm-work-continue.is-empty { grid-template-columns: 1fr; }
.rm-work-preview { display: grid; place-items: center; min-height: 240px; padding: 24px; border: 1px solid var(--rm-line); border-radius: 14px; color: var(--rm-ink); background-color: var(--rm-bg); background-image: radial-gradient(circle, var(--rm-line-strong) 1px, transparent 1.3px); background-size: 16px 16px; }
.rm-work-preview svg { max-width: 260px; max-height: 170px; }
.rm-work-cont-body { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.rm-work-cont-k { margin: 0; font: 400 14px var(--rm-font); color: var(--rm-ink-2); }
.rm-work-cont-body h2 { margin: 2px 0 0 !important; font: 700 24px/1.25 var(--rm-font) !important; letter-spacing: -0.01em !important; color: var(--rm-ink) !important; }
.rm-work-cont-meta { margin: 0; font: 400 14px/1.5 var(--rm-mono); color: var(--rm-ink-2); }
.rm-work-cont-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; padding-top: 16px; }
.rm-work-cont-actions .ws-btn { height: 46px; padding: 0 20px !important; display: inline-flex; align-items: center; font: 600 15px var(--rm-font) !important; }
.rm-work-calcs { padding: 22px; border-radius: 20px; background: #14120E; color: #F2EFE7; }
html[data-theme="dark"] .rm-work-calcs { background: #1B1915; box-shadow: 0 0 0 1px var(--rm-line); }
.rm-work-calcs-h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 14px; border-bottom: 1px solid rgba(242, 239, 231, .12); }
.rm-work-calcs-h h2 { margin: 0 !important; font: 500 15px var(--rm-font) !important; color: #DAD5C8 !important; }
.rm-work-calcs-h a { font: 600 13.5px var(--rm-font); color: #3DBE84; text-decoration: none; }
.rm-work-calc { display: flex; justify-content: space-between; gap: 12px; padding: 14px 0; border-bottom: 1px solid rgba(242, 239, 231, .1); }
.rm-work-calc:last-child { border-bottom: 0; }
.rm-work-calc-k { display: block; font: 400 12.5px var(--rm-font); color: #A9A392; }
.rm-work-calc-f { display: block; margin-top: 4px; font: 500 14px var(--rm-mono); color: #F2EFE7; }
.rm-work-calc b { font: 500 15px var(--rm-mono); color: #3DBE84; white-space: nowrap; }
.rm-work-calc-empty { margin: 14px 0 0; font: 400 14px/1.5 var(--rm-font); color: #A9A392; }
.rm-work-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
html[data-rm-ws][data-rm-app] .ws-work-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
html[data-rm-ws][data-rm-app] .ws-work-chip { display: inline-flex; align-items: center; height: 40px; padding: 0 16px; border: 1px solid var(--rm-line-strong); border-radius: 999px; background: var(--rm-paper); color: var(--rm-ink); font: 500 15px var(--rm-font); text-decoration: none; }
html[data-rm-ws][data-rm-app] .ws-work-chip.is-active { background: var(--rm-ink); border-color: var(--rm-ink); color: var(--rm-bg); }
html[data-rm-ws][data-rm-app] .ws-work-search { position: relative; display: flex; gap: 8px; width: min(350px, 100%); margin: 0 !important; }
html[data-rm-ws][data-rm-app] .ws-work-search input[type="search"] { flex: 1; height: 46px; padding: 0 14px !important; border: 1px solid var(--rm-line-strong) !important; border-radius: 12px !important; background: var(--rm-paper) !important; font: 400 15px var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .ws-work-search .ws-btn { display: none; }
.rm-work-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.rm-work-grid .ws-work-group, .rm-work-grid .ws-work-group > .ws-grid { display: contents; }
.rm-work-grid .ws-work-group > .ws-h2, .rm-work-grid .ws-work-group > .ws-lede { display: none; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-lab-card,
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-study-item { position: relative; display: flex !important; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 160px; margin: 0 !important; padding: 20px !important; border: 1px solid var(--rm-line) !important; border-radius: 16px !important; background: var(--rm-paper) !important; box-shadow: none !important; color: var(--rm-ink) !important; text-decoration: none !important; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-lab-card:hover { background: var(--rm-surface) !important; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-lab-badge,
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-item-symbol { display: none !important; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-lab-card-title,
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-item-title { margin: 4px 0 0 !important; font: 700 17px/1.3 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-lab-card-copy,
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-item-meta,
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-muted { font: 400 13.5px/1.5 var(--rm-mono) !important; color: var(--rm-ink-2) !important; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-item-note { font: 400 14px/1.5 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm-ws][data-rm-app] .rm-work-grid .ws-study-item > .ws-btn { margin-top: auto; }
.rm-work-chip { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--rm-green-soft); color: var(--rm-green); font: 600 12px/1.4 var(--rm-font); }
.rm-work-chip.is-creation { background: #F2DFB8; color: #7A4E0E; }
.rm-work-chip.is-notebook { background: #E4DCF0; color: #5B4BA0; }
.rm-work-chip.is-note { background: var(--rm-surface); color: var(--rm-ink-2); }
.rm-work-chip.is-calc { background: #D8E6EE; color: #285470; }
html[data-theme="dark"] .rm-work-chip.is-creation { background: #3B2F18; color: #E9C77F; }
html[data-theme="dark"] .rm-work-chip.is-notebook { background: #2E2740; color: #C9BDF2; }
html[data-theme="dark"] .rm-work-chip.is-calc { background: #1E3140; color: #A8CBE0; }
@media (max-width: 1180px) {
  .rm-work-top { grid-template-columns: 1fr; }
  .rm-work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .rm-work-continue { grid-template-columns: 1fr; padding: 16px; }
  .rm-work-preview { min-height: 160px; }
  .rm-work-grid { grid-template-columns: 1fr; }
  html[data-rm-ws][data-rm-app] .ws-work-filter { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; }
  html[data-rm-ws][data-rm-app] .ws-work-search { width: 100%; order: -1; }
}
.rm-jn-guest { display: flex; flex-direction: column; gap: 12px; background: var(--rm-green-soft); border-color: transparent; }
.rm-jn-guest p { margin: 0; font: 400 14px/1.5 var(--rm-font); color: var(--rm-ink); }
html[data-rm-ws][data-rm-app] .rm-jn-guest .ws-btn { justify-content: center; height: 44px; display: inline-flex; align-items: center; font: 600 15px var(--rm-font) !important; }
@media (max-width: 1023px) { .rm-jn-guest { order: 2; } }
/* dark theme: glassware drawn as light outlines (dark ink on a dark bench was nearly invisible) */
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-board-stage { --lab-glass-ink: #D8D2C2; }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-svg-glass > * { fill: rgba(242, 239, 231, .06); }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-svg-shine > * { stroke: rgba(242, 239, 231, .35); }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-svg-surface { fill: rgba(242, 239, 231, .12); }
html[data-rm-ws][data-rm-app][data-theme="dark"] .lab-glass-name { color: #F2EFE7; }
/* inspector / panels: thin dark scrollbars instead of the white system bar */
html[data-rm-ws][data-rm-app] .lab-side-body,
html[data-rm-ws][data-rm-app] .lab-dock { scrollbar-width: thin; scrollbar-color: rgba(242, 239, 231, .22) transparent; }
html[data-rm-ws][data-rm-app] .lab-dock { scrollbar-color: var(--rm-line-strong) transparent; }
html[data-rm-ws][data-rm-app] .lab-side-body::-webkit-scrollbar { width: 6px; }
html[data-rm-ws][data-rm-app] .lab-side-body::-webkit-scrollbar-track { background: transparent; }
html[data-rm-ws][data-rm-app] .lab-side-body::-webkit-scrollbar-thumb { background: rgba(242, 239, 231, .22); border-radius: 3px; }
@media (max-width: 560px) {
  html[data-rm-ws][data-rm-app] .lab-guided-head { flex-wrap: wrap; }
  html[data-rm-ws][data-rm-app] .lab-guided-all { white-space: normal; font-size: 14px; }
}
/* /account (workspace skin): base text colour follows the theme */
html[data-rm-ws] body { color: var(--rm-ink); background: var(--rm-bg); }

/* 9h ── Conta (/account), Claude Design "Conta" boards ─────────────── */
html[data-rm] body.rm.rm.ac-body .ps-main.ac-main { display: block; min-height: 0; padding: 0; background: none; }
html[data-rm] body.rm.rm.ac-body .ac-page { max-width: var(--rm-max); margin: 0 auto; padding: 48px var(--rm-gutter) 72px; box-sizing: border-box; }
html[data-rm] body.rm.rm .ac-root { display: flex; flex-direction: column; gap: 32px; max-width: none; color: var(--rm-ink); font-family: var(--rm-font); }
html[data-rm] body.rm.rm .ac-root .is-mono { font-family: var(--rm-mono); }
html[data-rm] body.rm.rm .ac-root .ac-ico { flex: none; width: 20px; height: 20px; }
/* guest */
html[data-rm] body.rm.rm .ac-root:not([data-ac-view]) { gap: 0; }
html[data-rm] body.rm.rm .ac-root:not([data-ac-view]) > .ws-kicker { margin: 0 0 8px !important; font: 600 14px/1.3 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .ac-root:not([data-ac-view]) > .ws-title { margin: 0 0 10px !important; font: 700 clamp(32px, 3.4vw, 48px)/1.08 var(--rm-font) !important; letter-spacing: -0.03em !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .ac-root:not([data-ac-view]) > .ws-lede { max-width: 640px; margin: 0 0 28px !important; font: 400 17px/1.55 var(--rm-font) !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .ac-root .ws-btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; min-height: 44px !important; padding: 0 18px !important; border-radius: 10px !important; border: 1px solid var(--rm-line-strong) !important; background: var(--rm-paper) !important; color: var(--rm-ink) !important; font: 600 15px/1 var(--rm-font) !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; box-shadow: none !important; cursor: pointer; }
html[data-rm] body.rm.rm .ac-root .ws-btn-primary { background: var(--rm-green) !important; border-color: var(--rm-green) !important; color: var(--rm-on-green) !important; }
/* buttons */
html[data-rm] body.rm.rm .ac-root .ac-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 44px; padding: 0 16px; border: 1px solid var(--rm-line); border-radius: 10px; background: var(--rm-bg); color: var(--rm-ink); font: 600 15px/1 var(--rm-font); text-decoration: none; cursor: pointer; white-space: nowrap; box-sizing: border-box; }
html[data-rm] body.rm.rm .ac-root .ac-btn:hover { background: var(--rm-surface); }
html[data-rm] body.rm.rm .ac-root .ac-btn-danger { border-color: #E6C3BC; background: #F3E1DD; color: var(--rm-red); }
html[data-rm] body.rm.rm .ac-root .ac-btn-danger:hover { background: #EDD3CD; }
html[data-rm][data-theme="dark"] body.rm.rm .ac-root .ac-btn-danger { border-color: rgba(208, 112, 95, .35); background: rgba(208, 112, 95, .12); }
/* header */
html[data-rm] body.rm.rm .ac-head { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
html[data-rm] body.rm.rm .ac-avatar { display: grid; place-items: center; flex: none; width: 72px; height: 72px; border-radius: 50%; background: var(--rm-green-soft); color: var(--rm-green); font: 700 30px/1 var(--rm-font); }
html[data-rm] body.rm.rm .ac-avatar.is-md { width: 64px; height: 64px; font-size: 26px; }
html[data-rm] body.rm.rm .ac-id { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; min-width: 0; }
html[data-rm] body.rm.rm .ac-kicker { font: 600 13px/1.2 var(--rm-font); letter-spacing: .02em; color: var(--rm-green); }
html[data-rm] body.rm.rm .ac-root .ac-name { margin: 0 !important; font: 700 40px/1.1 var(--rm-font) !important; letter-spacing: -0.025em !important; color: var(--rm-ink) !important; overflow-wrap: anywhere; }
html[data-rm] body.rm.rm .ac-handle { font: 400 15px/1.3 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-head > .ac-btn { height: 46px; padding: 0 18px; background: var(--rm-paper); color: var(--rm-ink); }
html[data-rm] body.rm.rm .ac-banner { margin: -16px 0 0; padding: 12px 16px; border-radius: 12px; background: #F3E1DD; color: var(--rm-red); font: 500 15px/1.4 var(--rm-font); }
html[data-rm] body.rm.rm .ac-banner[hidden] { display: none; }
/* layout + side nav */
html[data-rm] body.rm.rm .ac-layout { display: flex; gap: 32px; flex-wrap: wrap; align-items: flex-start; }
html[data-rm] body.rm.rm .ac-side { flex: 0 0 248px; display: flex; flex-direction: column; gap: 2px; }
html[data-rm] body.rm.rm .ac-root .ac-tab { display: flex !important; align-items: center; gap: 12px; min-height: 46px !important; height: auto !important; margin: 0 !important; padding: 0 14px !important; border: 1px solid transparent !important; border-radius: 10px !important; background: transparent !important; color: var(--rm-ink) !important; font: 500 15px/1.2 var(--rm-font) !important; text-align: left; text-decoration: none !important; box-shadow: none !important; cursor: pointer; }
html[data-rm] body.rm.rm .ac-root .ac-tab:hover { background: var(--rm-surface) !important; }
html[data-rm] body.rm.rm .ac-root .ac-tab.is-active { border-color: var(--rm-line) !important; background: var(--rm-paper) !important; font-weight: 700 !important; }
html[data-rm] body.rm.rm .ac-root .ac-tab-out { color: var(--rm-red) !important; font-weight: 600 !important; }
html[data-rm] body.rm.rm .ac-side-rule { display: block; height: 1px; margin: 12px 0; background: var(--rm-line); }
html[data-rm] body.rm.rm .ac-content { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
html[data-rm] body.rm.rm .ac-root .ac-m { display: none !important; }
/* cards */
html[data-rm] body.rm.rm .ac-card { display: flex; flex-direction: column; gap: 12px; margin: 0; border: 1px solid var(--rm-line); border-radius: 16px; background: var(--rm-paper); color: var(--rm-ink); box-sizing: border-box; }
html[data-rm] body.rm.rm .ac-card.ac-pad { padding: 24px; }
html[data-rm] body.rm.rm .ac-card h2 { margin: 0; font: 700 24px/1.2 var(--rm-font); letter-spacing: -0.01em; color: var(--rm-ink); }
html[data-rm] body.rm.rm .ac-card-head { display: flex; flex-direction: column; gap: 4px; }
html[data-rm] body.rm.rm .ac-card-head p, html[data-rm] body.rm.rm .ac-list-head p { margin: 0; font: 400 15px/1.45 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-card-kicker { font: 400 14px/1.2 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-card > .ac-btn { align-self: flex-start; margin-top: auto; }
html[data-rm] body.rm.rm .ac-dl { display: flex; flex-direction: column; margin: 0; }
html[data-rm] body.rm.rm .ac-dl > div { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--rm-surface); }
html[data-rm] body.rm.rm .ac-dl > div:last-child { border-bottom: 0; }
html[data-rm] body.rm.rm .ac-dl dt { font: 400 14px/1.3 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-dl dd { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0; font: 400 15px/1.3 var(--rm-font); color: var(--rm-ink); text-align: right; }
html[data-rm] body.rm.rm .ac-dl dd strong { font-weight: 600; }
html[data-rm] body.rm.rm .ac-dl dd.is-mono { font: 400 14px/1.3 var(--rm-mono); }
html[data-rm] body.rm.rm .ac-email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-rm] body.rm.rm .ac-pill { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 6px 12px; border-radius: 999px; background: var(--rm-green-soft); color: var(--rm-green); font: 600 13px/1.2 var(--rm-font); white-space: nowrap; }
html[data-rm] body.rm.rm .ac-pill .ac-ico { width: 16px; height: 16px; }
html[data-rm] body.rm.rm .ac-pill.is-sm { padding: 2px 8px; font-size: 12px; }
html[data-rm] body.rm.rm .ac-pill.is-warn { background: rgba(185, 107, 12, .14); color: var(--rm-amber); }
/* overview */
html[data-rm] body.rm.rm .ac-ov { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
html[data-rm] body.rm.rm .ac-shortcuts { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
html[data-rm] body.rm.rm .ac-shortcut { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 18px; border: 1px solid var(--rm-line); border-radius: 14px; background: var(--rm-paper); color: var(--rm-ink); text-decoration: none; }
html[data-rm] body.rm.rm .ac-shortcut:hover { background: var(--rm-surface); }
html[data-rm] body.rm.rm .ac-shortcut strong { font: 700 16px/1.3 var(--rm-font); }
html[data-rm] body.rm.rm .ac-shortcut span { font: 400 14px/1.45 var(--rm-font); color: var(--rm-ink-2); }
/* plan card (dark, both themes) */
html[data-rm] body.rm.rm .ac-plan { position: relative; display: flex; flex-direction: column; gap: 18px; margin: 0; padding: 28px; border-radius: 16px; background: #14120E; color: #F2EFE7; box-sizing: border-box; }
html[data-rm][data-theme="dark"] body.rm.rm .ac-plan { background: #1E1B16; box-shadow: inset 0 0 0 1px #2E2A22; }
html[data-rm] body.rm.rm .ac-plan.is-compact { gap: 14px; padding: 24px; }
html[data-rm] body.rm.rm .ac-plan-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
html[data-rm] body.rm.rm .ac-plan.is-compact .ac-plan-head { align-items: center; }
html[data-rm] body.rm.rm .ac-plan-id { display: flex; flex-direction: column; gap: 6px; }
html[data-rm] body.rm.rm .ac-plan-kicker { font: 400 14px/1.2 var(--rm-font); color: #B8B2AA; }
html[data-rm] body.rm.rm .ac-root .ac-plan-name { margin: 0 !important; font: 700 30px/1.15 var(--rm-font) !important; color: #F2EFE7 !important; }
html[data-rm] body.rm.rm .ac-root .ac-plan.is-compact .ac-plan-name { font-size: 26px !important; }
html[data-rm] body.rm.rm .ac-status { display: inline-flex; align-items: center; gap: 6px; font: 600 13px/1.2 var(--rm-font); color: #34A872; }
html[data-rm] body.rm.rm .ac-plan:not(.is-compact) .ac-status { padding: 5px 12px; border: 1px solid #3D372C; border-radius: 999px; }
html[data-rm] body.rm.rm .ac-status .ac-dot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
html[data-rm] body.rm.rm .ac-status.is-warn { color: #E0A14B; }
html[data-rm] body.rm.rm .ac-status.is-muted { color: #B8B2AA; }
html[data-rm] body.rm.rm .ac-plan-meta { margin: 0; font: 400 14px/1.5 var(--rm-mono); color: #B8B2AA; }
html[data-rm] body.rm.rm .ac-plan-text { margin: 0; font: 400 15px/1.5 var(--rm-font); color: #D6D0C4; }
html[data-rm] body.rm.rm .ac-plan-note { margin: 0; font: 400 13px/1.45 var(--rm-font); color: #908A7C; }
html[data-rm] body.rm.rm .ac-plan-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin: 0; }
html[data-rm] body.rm.rm .ac-plan-stats > div { display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: 12px; background: #1E1B16; }
html[data-rm][data-theme="dark"] body.rm.rm .ac-plan-stats > div { background: #14120E; }
html[data-rm] body.rm.rm .ac-plan-stats dt { font: 400 12px/1.2 var(--rm-font); color: #B8B2AA; }
html[data-rm] body.rm.rm .ac-plan-stats dd { margin: 0; font: 400 16px/1.3 var(--rm-mono); color: #F2EFE7; }
html[data-rm] body.rm.rm .ac-plan-stats dd.is-date { color: #34A872; }
html[data-rm] body.rm.rm .ac-plan-actions { display: flex; gap: 10px; flex-wrap: wrap; }
html[data-rm] body.rm.rm .ac-plan.is-compact .ac-plan-actions { margin-top: auto; }
html[data-rm] body.rm.rm .ac-root .ac-plan .ac-btn-mint { height: 46px; padding: 0 20px !important; border: 0 !important; background: #34A872 !important; color: #0E0D0C !important; font-weight: 700 !important; }
html[data-rm] body.rm.rm .ac-root .ac-plan .ac-btn-mint:hover { background: #2C9163 !important; }
html[data-rm] body.rm.rm .ac-root .ac-plan .ac-btn-ghost { height: 46px; padding: 0 18px; border-color: #3D372C; background: transparent; color: #F2EFE7; }
html[data-rm] body.rm.rm .ac-root .ac-plan .ac-btn-ghost:hover, html[data-rm] body.rm.rm .ac-root .ac-plan .ac-btn-dark:hover { background: #2B271F; }
html[data-rm] body.rm.rm .ac-root .ac-plan .ac-btn-dark { border-color: #3D372C; background: #1E1B16; color: #F2EFE7; }
html[data-rm][data-theme="dark"] body.rm.rm .ac-root .ac-plan .ac-btn-dark { background: #14120E; }
/* perks */
html[data-rm] body.rm.rm .ac-perks { gap: 14px; padding: 24px 28px !important; }
html[data-rm] body.rm.rm .ac-perks h2 { font-size: 20px; }
html[data-rm] body.rm.rm .ac-perks ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
html[data-rm] body.rm.rm .ac-perks li { display: flex; align-items: flex-start; gap: 10px; font: 400 15px/1.45 var(--rm-font); }
html[data-rm] body.rm.rm .ac-perks li .ac-ico { color: var(--rm-green); }
/* list cards: security, preferences */
html[data-rm] body.rm.rm .ac-card.ac-list { gap: 0; padding: 8px 28px; }
html[data-rm] body.rm.rm .ac-list-head { display: flex; flex-direction: column; gap: 4px; padding: 20px 0 12px; }
html[data-rm] body.rm.rm .ac-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid var(--rm-surface); flex-wrap: wrap; }
html[data-rm] body.rm.rm .ac-row:last-child { padding-bottom: 22px; }
html[data-rm] body.rm.rm .ac-row.is-stack { flex-direction: column; align-items: stretch; gap: 12px; }
html[data-rm] body.rm.rm .ac-row-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 220px; }
html[data-rm] body.rm.rm .ac-row.is-stack .ac-row-text { flex: none; }
html[data-rm] body.rm.rm .ac-row-text strong { font: 700 16px/1.3 var(--rm-font); }
html[data-rm] body.rm.rm .ac-row-text span { font: 400 14px/1.45 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-seg { display: flex; gap: 4px; padding: 4px; border-radius: 10px; background: var(--rm-surface); }
html[data-rm] body.rm.rm .ac-row.is-stack .ac-seg { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
html[data-rm] body.rm.rm .ac-seg-btn { height: 40px; padding: 0 16px; border: 0; border-radius: 7px; background: transparent; color: var(--rm-ink-2); font: 500 14px/1 var(--rm-font); cursor: pointer; white-space: nowrap; }
html[data-rm] body.rm.rm .ac-seg-btn:hover { color: var(--rm-ink); }
html[data-rm] body.rm.rm .ac-seg-btn.is-on { background: var(--rm-paper); color: var(--rm-ink); font-weight: 600; box-shadow: 0 1px 2px rgba(20, 18, 14, .08); }
html[data-rm][data-theme="dark"] body.rm.rm .ac-seg-btn.is-on { background: #2B271F; }
html[data-rm] body.rm.rm .ac-switch { position: relative; flex: none; width: 52px; height: 30px; padding: 0; border: 0; border-radius: 15px; background: var(--rm-line-strong); cursor: pointer; }
html[data-rm] body.rm.rm .ac-switch > span { position: absolute; top: 3px; left: 3px; width: 24px; height: 24px; border-radius: 50%; background: #F8F5EC; transition: left .15s; }
html[data-rm] body.rm.rm .ac-switch[aria-checked="true"] { background: var(--rm-green); }
html[data-rm] body.rm.rm .ac-switch[aria-checked="true"] > span { left: 25px; }
/* link cards */
html[data-rm] body.rm.rm .ac-link-card { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border: 1px solid var(--rm-line); border-radius: 16px; background: var(--rm-paper); color: var(--rm-ink); text-decoration: none; }
html[data-rm] body.rm.rm .ac-link-card:hover { background: var(--rm-surface); }
html[data-rm] body.rm.rm .ac-tile { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: 10px; background: var(--rm-surface); }
html[data-rm] body.rm.rm .ac-link-text { display: flex; flex-direction: column; gap: 2px; flex: 1 1 auto; min-width: 0; }
html[data-rm] body.rm.rm .ac-link-text strong { font: 700 16px/1.3 var(--rm-font); }
html[data-rm] body.rm.rm .ac-link-text span { font: 400 14px/1.45 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-link-card > .ac-ico:last-child { color: var(--rm-ink-2); }
/* profile form (read-only) */
html[data-rm] body.rm.rm .ac-card.ac-pad:has(.ac-fields) { gap: 20px; padding: 28px; }
html[data-rm] body.rm.rm .ac-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
html[data-rm] body.rm.rm .ac-field { display: flex; flex-direction: column; gap: 8px; }
html[data-rm] body.rm.rm .ac-field label { font: 600 14px/1.2 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .ac-field input, html[data-rm] body.rm.rm .ac-input-at { height: 48px; padding: 0 14px; border: 1px solid var(--rm-line-strong); border-radius: 10px; background: var(--rm-bg); color: var(--rm-ink); font: 400 16px var(--rm-font); box-sizing: border-box; }
html[data-rm] body.rm.rm .ac-field input.is-locked { border-color: var(--rm-line); background: var(--rm-surface); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-input-at { display: flex; align-items: center; padding: 0; overflow: hidden; }
html[data-rm] body.rm.rm .ac-input-at > span { padding: 0 4px 0 14px; font-family: var(--rm-mono); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .ac-input-at > input { flex: 1 1 auto; min-width: 0; height: 46px; padding: 0; border: 0; background: transparent; font-family: var(--rm-mono); }
html[data-rm] body.rm.rm .ac-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--rm-surface); font: 400 14px/1.45 var(--rm-font); color: var(--rm-ink-2); }
/* phones: menu list instead of side nav, sub-pages with a back link */
@media (max-width: 760px) {
  html[data-rm] body.rm.rm.ac-body .ac-page { padding: 24px 16px 40px; }
  html[data-rm] body.rm.rm .ac-root { gap: 20px; }
  html[data-rm] body.rm.rm .ac-root .ac-d, html[data-rm] body.rm.rm .ac-side { display: none !important; }
  html[data-rm] body.rm.rm .ac-root .ac-m { display: flex !important; }
  html[data-rm] body.rm.rm .ac-root[data-ac-view="sub"] > .ac-head { display: none; }
  html[data-rm] body.rm.rm .ac-head { gap: 14px; flex-wrap: nowrap; }
  html[data-rm] body.rm.rm .ac-avatar { width: 60px; height: 60px; font-size: 24px; }
  html[data-rm] body.rm.rm .ac-id { gap: 2px; }
  html[data-rm] body.rm.rm .ac-root .ac-name { font-size: 28px !important; }
  html[data-rm] body.rm.rm .ac-handle { font: 400 13px/1.3 var(--rm-mono); }
  html[data-rm] body.rm.rm .ac-layout { display: block; }
  html[data-rm] body.rm.rm .ac-content { gap: 20px; }
  html[data-rm] body.rm.rm .ac-root[data-ac-view="sub"] .ac-content { gap: 18px; margin-top: -8px; }
  html[data-rm] body.rm.rm .ac-ov { display: block; }
  html[data-rm] body.rm.rm .ac-plan, html[data-rm] body.rm.rm .ac-plan.is-compact { gap: 10px; padding: 18px; }
  html[data-rm] body.rm.rm .ac-root .ac-plan-name, html[data-rm] body.rm.rm .ac-root .ac-plan.is-compact .ac-plan-name { font-size: 22px !important; }
  html[data-rm] body.rm.rm .ac-plan-kicker, html[data-rm] body.rm.rm .ac-plan-meta { font-size: 13px; }
  html[data-rm] body.rm.rm .ac-plan.is-compact .ac-plan-actions:has(.ac-btn-dark) { margin-top: -10px; }
  html[data-rm] body.rm.rm .ac-root .ac-plan.is-compact .ac-btn-dark { position: static; width: 0; height: 0; padding: 0; border: 0; overflow: hidden; font-size: 0; }
  html[data-rm] body.rm.rm .ac-plan.is-compact:has(.ac-btn-dark) { cursor: pointer; }
  html[data-rm] body.rm.rm .ac-plan.is-compact .ac-btn-dark::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
  html[data-rm] body.rm.rm .ac-menu { flex-direction: column; border: 1px solid var(--rm-line); border-radius: 16px; background: var(--rm-paper); overflow: hidden; }
  html[data-rm] body.rm.rm .ac-menu .ac-link-card { min-height: 64px; padding: 0 16px; border: 0; border-bottom: 1px solid var(--rm-surface); border-radius: 0; background: transparent; }
  html[data-rm] body.rm.rm .ac-menu .ac-link-card:last-child { border-bottom: 0; }
  html[data-rm] body.rm.rm .ac-menu .ac-tile { width: 36px; height: 36px; border-radius: 9px; }
  html[data-rm] body.rm.rm .ac-menu .ac-tile .ac-ico { width: 18px; height: 18px; }
  html[data-rm] body.rm.rm .ac-link-card { min-height: 64px; padding: 0 16px; }
  html[data-rm] body.rm.rm .ac-link-text strong { font-weight: 600; }
  html[data-rm] body.rm.rm .ac-link-text span { font-size: 13px; }
  html[data-rm] body.rm.rm .ac-content > .ac-link-card:not(.ac-m) { padding: 16px; }
  html[data-rm] body.rm.rm .ac-root .ac-btn-block { width: 100%; height: 50px; border-radius: 12px; font-size: 16px; }
  html[data-rm] body.rm.rm .ac-root .ac-content > a.ac-btn-block { background: var(--rm-paper); }
  html[data-rm] body.rm.rm .ac-root .ac-back { align-self: flex-start; align-items: center; gap: 6px; height: 44px; padding: 0 10px 0 0; color: var(--rm-green); font: 600 15px/1 var(--rm-font); text-decoration: none; }
  html[data-rm] body.rm.rm .ac-root .ac-sub-title { margin: 0; font: 700 28px/1.15 var(--rm-font); letter-spacing: -0.02em; color: var(--rm-ink); }
  html[data-rm] body.rm.rm .ac-card.ac-list { padding: 4px 16px; }
  html[data-rm] body.rm.rm .ac-list-head { display: none; }
  html[data-rm] body.rm.rm .ac-list-head + .ac-row { border-top: 0; }
  html[data-rm] body.rm.rm .ac-row { padding: 16px 0; }
  html[data-rm] body.rm.rm .ac-row-text { flex: 1 1 90px; }
  html[data-rm] body.rm.rm .ac-row > .ac-btn { width: 100%; height: 48px; border-radius: 12px; }
  html[data-rm] body.rm.rm .ac-row.is-stack .ac-seg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-rm] body.rm.rm .ac-seg-btn { height: 42px; padding: 0 12px; }
  html[data-rm] body.rm.rm .ac-card.ac-pad, html[data-rm] body.rm.rm .ac-card.ac-pad:has(.ac-fields), html[data-rm] body.rm.rm .ac-perks { padding: 18px !important; }
  html[data-rm] body.rm.rm .ac-card-head { display: none; }
  html[data-rm] body.rm.rm .ac-card:has(.ac-fields) > .ac-avatar { display: none; }
  html[data-rm] body.rm.rm .ac-field input, html[data-rm] body.rm.rm .ac-input-at { height: 50px; border-radius: 12px; }
}
/* 9i ── Tabela periódica: Claude Design board (colour by, axes, legend below) */
html[data-rm] body.rm.rm .rm-pt-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 4px 0 28px; }
html[data-rm] body.rm.rm .rm-pt-bar-label { font: 600 15px/1 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .rm-pt-seg { display: inline-flex; gap: 2px; padding: 4px; border-radius: 12px; background: var(--rm-surface); }
html[data-rm] body.rm.rm .rm-pt-seg button { height: 36px; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: var(--rm-ink-2); font: 500 14px/1 var(--rm-font); cursor: pointer; white-space: nowrap; }
html[data-rm] body.rm.rm .rm-pt-seg button:hover { color: var(--rm-ink); }
html[data-rm] body.rm.rm .rm-pt-seg button.is-on { background: var(--rm-paper); color: var(--rm-ink); font-weight: 600; box-shadow: 0 1px 2px rgba(20, 18, 14, .08); }
html[data-rm][data-theme="dark"] body.rm.rm .rm-pt-seg button.is-on { background: #2B271F; }
/* export buttons: quiet icon group at the right of the bar */
html[data-rm] body.rm.rm .rm-pt-bar .rm-pt-export { margin: 0 0 0 auto !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; gap: 4px !important; }
html[data-rm] body.rm.rm .rm-pt-export .dl-btn, html[data-rm] body.rm.rm .rm-pt-export .dl-action { height: 36px !important; min-height: 36px !important; padding: 0 10px !important; border: 1px solid var(--rm-line) !important; border-radius: 10px !important; background: var(--rm-paper) !important; color: var(--rm-ink-2) !important; font: 500 13px/1 var(--rm-font) !important; box-shadow: none !important; }
html[data-rm] body.rm.rm .rm-pt-export .dl-btn.active { color: var(--rm-ink) !important; border-color: var(--rm-line-strong) !important; }
html[data-rm] body.rm.rm .rm-pt-export .dl-action { color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .rm-pt-export .dl-divider { display: none !important; }
/* axes */
html[data-rm] body.rm.rm .table-wrap-outer.rm-pt-has-axes { position: relative; padding-top: 26px !important; padding-left: 30px !important; }
html[data-rm] body.rm.rm .rm-pt-axes { position: absolute; inset: 0; pointer-events: none; }
html[data-rm] body.rm.rm .rm-pt-g, html[data-rm] body.rm.rm .rm-pt-p { position: absolute; display: flex; align-items: center; justify-content: center; font: 500 13px/1 var(--rm-font); color: var(--rm-ink-3); font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .rm-pt-g { height: 18px; color: #6F6A5C; }
html[data-theme="dark"][data-rm] body.rm.rm .rm-pt-g { color: #8A8474; }
html[data-rm] body.rm.rm .rm-pt-p { width: 22px; }
/* f-block labels and the gap above them */
html[data-rm] body.rm.rm .ptable .row-spacer { height: 18px; }
html[data-rm] body.rm.rm .ptable .f-label { justify-content: flex-start !important; padding: 0 0 0 2px !important; font: 400 13px/1.2 var(--rm-font) !important; font-style: normal !important; color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm #fblock-connector-svg { display: none !important; }
/* legend under the table */
html[data-rm] body.rm.rm .rm-pt-legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 28px 0 0; padding: 20px 0 0; border-top: 1px solid var(--rm-line); }
html[data-rm] body.rm.rm #tab-tabela.rm-pt-heat .rm-pt-legend { display: none; }
html[data-rm] body.rm.rm .rm-pt-chip { display: inline-flex !important; align-items: center; gap: 8px; height: 36px; padding: 0 14px !important; border: 1px solid var(--rm-line) !important; border-radius: 999px !important; background: var(--rm-paper) !important; color: var(--rm-ink) !important; font: 500 14px/1 var(--rm-font) !important; cursor: pointer; }
html[data-rm] body.rm.rm .rm-pt-chip:hover { border-color: var(--rm-line-strong) !important; }
html[data-rm] body.rm.rm .rm-pt-chip.active-filter { background: var(--rm-ink) !important; border-color: var(--rm-ink) !important; color: var(--rm-bg) !important; }
html[data-rm] body.rm.rm .rm-pt-dot { width: 12px; height: 12px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(20, 18, 14, .12); }
html[data-rm] body.rm.rm .ptable.rm-pt-filtering .el:not(.rm-pt-hit) { opacity: .22; }
html[data-rm] body.rm.rm .ptable .el { transition: opacity .15s; }
html[data-rm] body.rm.rm #tab-tabela .hm-settings-legend { margin: -12px 0 20px; }
@media (max-width: 760px) {
  html[data-rm] body.rm.rm .rm-pt-bar { gap: 8px; }
  html[data-rm] body.rm.rm .rm-pt-seg { max-width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  html[data-rm] body.rm.rm .rm-pt-seg button { flex: 0 0 auto; }
  html[data-rm] body.rm.rm .rm-pt-bar .rm-pt-export { margin-left: 0 !important; }
}
@media (max-width: 768px) {
  html[data-rm] body.rm.rm .table-with-connector {
    transform: none !important;
    margin-bottom: 0 !important;
  }
  html[data-rm] body.rm.rm .ptable {
    --el-cell: 40px;
    gap: 3px !important;
    min-width: calc(40px * 18 + 3px * 17) !important;
    grid-template-columns: repeat(18, 40px) !important;
    grid-template-rows: repeat(10, 44px) !important;
  }
}
html[data-rm] body.rm.rm .table-wrap-outer.rm-pt-has-axes { overflow: visible; }
@media (min-width: 900px) {
  html[data-rm] body.rm.rm .table-wrap-outer.rm-pt-has-axes .ptable { width: 100%; min-width: 0 !important; grid-template-columns: repeat(18, minmax(0, 1fr)) !important; }
}
html[data-rm] body.rm.rm #tab-tabela .heatmap-gradient { background: linear-gradient(90deg, #F3EEDD, #CFE4D5 35%, #7FB698 68%, #1E6A50) !important; }
html[data-rm] body.rm.rm #tab-tabela .hm-settings-legend { display: inline-flex; padding: 8px 14px !important; border-radius: 999px !important; }
/* 9j ── Isomer explorer (assets/chem/iso-explorer.js) ─────────────── */
html[data-rm] body.rm.rm .iso-x { margin: 32px 0 40px !important; padding: 28px !important; border: 1px solid var(--rm-line) !important; border-radius: 18px !important; background: var(--rm-paper) !important; box-shadow: none !important; color: var(--rm-ink); font-family: var(--rm-font); }
html[data-rm] body.rm.rm .iso-x-kicker { margin: 0 0 6px; font: 600 13px/1.2 var(--rm-font); color: var(--rm-green); }
html[data-rm] body.rm.rm .iso-x-title { margin: 0 0 8px !important; font: 700 28px/1.15 var(--rm-font) !important; letter-spacing: -0.02em !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .iso-x-lede { max-width: 720px; margin: 0 0 20px; font: 400 16px/1.55 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .iso-x-tabs { display: inline-flex; flex-wrap: wrap; gap: 2px; margin: 0 0 22px; padding: 4px; border-radius: 12px; background: var(--rm-surface); }
html[data-rm] body.rm.rm .iso-x-tabs button { height: 38px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; color: var(--rm-ink-2); font: 500 14.5px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-tabs button[aria-selected="true"] { background: var(--rm-bg); color: var(--rm-ink); font-weight: 600; box-shadow: 0 1px 2px rgba(20, 18, 14, .08); }
html[data-rm] body.rm.rm .iso-x-form label { display: block; margin: 0 0 8px; font: 600 14px/1.2 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .iso-x-row { display: flex; gap: 8px; flex-wrap: wrap; }
html[data-rm] body.rm.rm .iso-x-row input { flex: 1 1 260px; min-width: 0; height: 48px; padding: 0 14px; border: 1px solid var(--rm-line-strong); border-radius: 12px; background: var(--rm-bg); color: var(--rm-ink); font: 500 17px/1 var(--rm-mono); }
html[data-rm] body.rm.rm .iso-x-row input:focus { outline: 2px solid var(--rm-green); outline-offset: 1px; }
html[data-rm] body.rm.rm .iso-x-row button { height: 48px; padding: 0 20px; border: 0; border-radius: 12px; background: var(--rm-green); color: var(--rm-on-green); font: 600 15px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 12px 0 18px; }
html[data-rm] body.rm.rm .iso-x-chips span { margin-right: 4px; font: 500 13px/1 var(--rm-font); color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .iso-x-chips button { height: 32px; padding: 0 11px; border: 1px solid var(--rm-line); border-radius: 999px; background: var(--rm-bg); color: var(--rm-ink); font: 500 13.5px/1 var(--rm-mono); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-chips button:hover { border-color: var(--rm-line-strong); }
html[data-rm] body.rm.rm .iso-x-error { margin: 8px 0 0; padding: 12px 14px; border-radius: 12px; background: rgba(185, 107, 12, .12); color: var(--rm-ink); font: 500 15px/1.45 var(--rm-font); }
html[data-rm] body.rm.rm .iso-x-summary p { margin: 0 0 10px; font: 400 16px/1.4 var(--rm-font); }
html[data-rm] body.rm.rm .iso-x-summary strong { font-family: var(--rm-mono); }
html[data-rm] body.rm.rm .iso-x-note { margin: 8px 0 0; font: 400 13px/1.45 var(--rm-font); color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .iso-x-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; }
html[data-rm] body.rm.rm .iso-x-filter button { height: 34px; padding: 0 12px; border: 1px solid var(--rm-line); border-radius: 999px; background: transparent; color: var(--rm-ink); font: 500 14px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-filter button span { margin-left: 4px; color: var(--rm-ink-3); font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .iso-x-filter button.is-on { background: var(--rm-ink); border-color: var(--rm-ink); color: var(--rm-bg); }
html[data-rm] body.rm.rm .iso-x-filter button.is-on span { color: inherit; opacity: .7; }
html[data-rm] body.rm.rm .iso-x-compare { position: sticky; top: calc(var(--rm-header-h) + 8px); z-index: 3; margin: 0 0 14px; padding: 12px 16px; border-radius: 14px; background: var(--rm-surface); }
html[data-rm] body.rm.rm .iso-x-hint { margin: 0; font: 500 14px/1.4 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .iso-x-verdict p { margin: 2px 0; font: 400 14.5px/1.45 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .iso-x-type { font: 700 18px/1.3 var(--rm-font) !important; color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .iso-x-pair { font-family: var(--rm-mono) !important; font-size: 13.5px !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .iso-x-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; }
html[data-rm] body.rm.rm .iso-x-card { display: flex; flex-direction: column; gap: 4px; padding: 12px; border: 1.5px solid var(--rm-line); border-radius: 14px; background: var(--rm-bg); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-card:hover { border-color: var(--rm-line-strong); }
html[data-rm] body.rm.rm .iso-x-card.is-picked { border-color: var(--rm-green); box-shadow: 0 0 0 3px rgba(30, 106, 80, .16); }
html[data-rm] body.rm.rm .iso-x-draw { display: grid; place-items: center; min-height: 110px; }
html[data-rm] body.rm.rm .iso-x-draw.is-big { min-height: 180px; margin: 0 0 12px; padding: 12px; border-radius: 12px; background: var(--rm-bg); }
html[data-rm] body.rm.rm .iso-x-svg { width: 100%; max-height: 130px; height: auto; }
html[data-rm] body.rm.rm .iso-x-draw.is-big .iso-x-svg { max-height: 220px; }
html[data-rm] body.rm.rm .iso-x-svg line { stroke: var(--rm-ink-2); stroke-width: 1.6; stroke-linecap: round; }
html[data-rm] body.rm.rm .iso-x-svg text { font: 600 13px var(--rm-font); fill: var(--rm-ink); }
html[data-rm] body.rm.rm .iso-x-svg .el-O { fill: #C2412F; }
html[data-rm] body.rm.rm .iso-x-svg .el-N { fill: #3159B8; }
html[data-rm] body.rm.rm .iso-x-svg .el-Cl, html[data-rm] body.rm.rm .iso-x-svg .el-F { fill: #2F8A43; }
html[data-rm] body.rm.rm .iso-x-svg .el-Br { fill: #8B3A2C; }
html[data-rm] body.rm.rm .iso-x-svg .is-chiral, html[data-rm] body.rm.rm .iso-x-star { fill: var(--rm-green); font-weight: 800; }
html[data-rm][data-theme="dark"] body.rm.rm .iso-x-svg .el-O { fill: #EF7A6A; }
html[data-rm][data-theme="dark"] body.rm.rm .iso-x-svg .el-N { fill: #86A8F2; }
html[data-rm] body.rm.rm .iso-x-cls { margin: 4px 0 0; font: 600 12.5px/1.2 var(--rm-font); color: var(--rm-green); }
html[data-rm] body.rm.rm .iso-x-cond { margin: 0; font: 500 13px/1.4 var(--rm-mono); color: var(--rm-ink); overflow-wrap: anywhere; }
html[data-rm] body.rm.rm .iso-x-badges { display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0 0; }
html[data-rm] body.rm.rm .iso-x-badges span { padding: 2px 8px; border-radius: 999px; font: 600 11.5px/1.5 var(--rm-font); background: var(--rm-surface); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .iso-x-badges .b-chiral { background: var(--rm-green-soft); color: var(--rm-green); }
html[data-rm] body.rm.rm .iso-x-badges .b-unst { background: rgba(185, 107, 12, .14); color: var(--rm-amber); }
html[data-rm] body.rm.rm .iso-x-go { align-self: flex-start; margin-top: auto; padding: 6px 0 0; border: 0; background: none; color: var(--rm-green); font: 600 13px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-one { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 20px; align-items: start; }
html[data-rm] body.rm.rm .iso-x-facts dl { margin: 0; }
html[data-rm] body.rm.rm .iso-x-facts dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid var(--rm-surface); }
html[data-rm] body.rm.rm .iso-x-facts dt { font: 500 13.5px/1.4 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .iso-x-facts dd { margin: 0; font: 500 14.5px/1.45 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .iso-x-3d canvas { display: block; width: 100%; height: 380px; border-radius: 14px; background: #14120E; cursor: grab; touch-action: none; }
html[data-rm][data-theme="dark"] body.rm.rm .iso-x-3d canvas { background: #0A0908; box-shadow: inset 0 0 0 1px var(--rm-line); }
html[data-rm] body.rm.rm .iso-x-3d.is-off canvas { display: none; }
html[data-rm] body.rm.rm .iso-x-3d-bar { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; }
html[data-rm] body.rm.rm .iso-x-3d-bar button { height: 36px; padding: 0 14px; border: 1px solid var(--rm-line); border-radius: 10px; background: var(--rm-bg); color: var(--rm-ink); font: 600 13.5px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .iso-x-3d-bar button[aria-pressed="true"] { background: var(--rm-ink); border-color: var(--rm-ink); color: var(--rm-bg); }
html[data-rm] body.rm.rm .iso-x-bonds p { margin: 6px 0 0; display: flex; flex-wrap: wrap; gap: 6px; font: 500 13px/1.4 var(--rm-mono); }
html[data-rm] body.rm.rm .iso-x-bonds span { padding: 3px 8px; border-radius: 8px; background: var(--rm-surface); }
html[data-rm] body.rm.rm .iso-x-bonds .iso-x-bonds-t { display: block; font: 600 13px/1.4 var(--rm-font); color: var(--rm-ink-2); }
@media (max-width: 860px) {
  html[data-rm] body.rm.rm .iso-x { padding: 18px !important; }
  html[data-rm] body.rm.rm .iso-x-one { grid-template-columns: 1fr; }
  html[data-rm] body.rm.rm .iso-x-facts dl > div { grid-template-columns: 1fr; gap: 2px; }
  html[data-rm] body.rm.rm .iso-x-3d canvas { height: 300px; }
  html[data-rm] body.rm.rm .iso-x-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* 9k ── calculators: step-by-step block and precision notes */
html[data-rm] body.rm.rm .calc-steps { margin: 14px 0 6px; padding: 12px 14px; border: 1px solid var(--rm-line); border-radius: 12px; background: var(--rm-bg); }
html[data-rm] body.rm.rm .calc-steps summary { cursor: pointer; font: 600 13.5px/1.3 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .calc-step { margin: 8px 0 0; font: 500 13.5px/1.55 var(--rm-mono); color: var(--rm-ink); overflow-wrap: anywhere; }
html[data-rm] body.rm.rm [data-sig] { color: var(--rm-green) !important; }
/* 9l ── molecules: builder, geometry and polarity panel, dipole button */
html[data-rm] body.rm.rm .viewer .vc-btn.vc-mu { font: 700 16px/1 var(--rm-font) !important; }
html[data-rm] body.rm.rm .mol-build { margin: 6px 0 4px; }
html[data-rm] body.rm.rm .mol-build-row { display: flex; gap: 6px; }
html[data-rm] body.rm.rm .mol-build-row input { flex: 1; min-width: 0; height: 42px; box-sizing: border-box; padding: 0 12px; border-radius: 10px; border: 1px solid var(--rm-line-strong); background: var(--rm-paper); color: var(--rm-ink); font: 500 14px var(--rm-mono); }
html[data-rm] body.rm.rm .mol-build-row input:focus { outline: 2px solid var(--rm-green); outline-offset: 1px; }
html[data-rm] body.rm.rm .mol-build-go { flex: none; height: 42px; padding: 0 14px; border: 0; border-radius: 10px; background: var(--rm-green); color: var(--rm-on-green); font: 600 14px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .mol-build-go:hover { background: var(--rm-green-hover); }
html[data-rm] body.rm.rm .mol-build-hint { margin: 6px 0 8px; font: 400 12.5px/1.45 var(--rm-font); color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .mol-build-ex { display: flex; flex-wrap: wrap; gap: 6px; }
html[data-rm] body.rm.rm .mol-build-ex .pill.sm { font-family: var(--rm-mono) !important; font-size: 12.5px !important; padding: 6px 10px !important; }
html[data-rm] body.rm.rm .mol-build-msg { margin: 8px 0 0; font: 500 13px/1.45 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .mol-build-msg:empty { display: none; }
html[data-rm] body.rm.rm .mol-build-msg p { margin: 0 0 6px; }
html[data-rm] body.rm.rm .mol-build-msg b { color: var(--rm-green); }
html[data-rm] body.rm.rm .mol-build-msg.is-error { color: var(--rm-red); }
html[data-rm] body.rm.rm .mol-build-more { font: 600 12.5px/2 var(--rm-font); color: var(--rm-green); }
html[data-rm] body.rm.rm .mol-facts { margin: 28px 0 8px; padding: 24px; border: 1px solid var(--rm-line); border-radius: 20px; background: var(--rm-paper); }
html[data-rm] body.rm.rm .mol-facts[hidden] { display: none; }
html[data-rm] body.rm.rm .mol-facts-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 0 0 16px; }
html[data-rm] body.rm.rm .mol-facts-head h2 { margin: 0; font: 700 22px/1.2 var(--rm-font); color: var(--rm-ink); letter-spacing: -.01em; }
html[data-rm] body.rm.rm .mol-facts-vec { height: 38px; padding: 0 14px; border: 1px solid var(--rm-line-strong); border-radius: 10px; background: var(--rm-bg); color: var(--rm-ink); font: 600 13.5px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .mol-facts-vec span { font-weight: 800; color: var(--rm-green); margin-right: 2px; }
html[data-rm] body.rm.rm .mol-facts-vec[aria-pressed="true"] { background: var(--rm-green-soft); border-color: var(--rm-green); }
html[data-rm] body.rm.rm .mol-facts-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
html[data-rm] body.rm.rm .mol-tile { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 14px; background: var(--rm-bg); min-width: 0; }
html[data-rm] body.rm.rm .mol-tile-k { font: 600 12.5px/1.3 var(--rm-font); color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .mol-tile-v { font: 500 15px/1.35 var(--rm-font); color: var(--rm-ink); overflow-wrap: anywhere; }
html[data-rm] body.rm.rm .mol-tile-v b { font-size: 18px; font-weight: 700; }
html[data-rm] body.rm.rm .mol-tile-s { font: 400 13px/1.45 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .mol-v-polar { color: var(--rm-green); }
html[data-rm] body.rm.rm .mol-v-ionic { color: var(--rm-amber); }
html[data-rm] body.rm.rm .mol-facts-tables { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; margin: 20px 0 0; }
html[data-rm] body.rm.rm .mol-facts-t h3 { margin: 0 0 8px; font: 600 15px/1.3 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .mol-scroll { overflow-x: auto; }
html[data-rm] body.rm.rm .mol-facts table { width: 100%; border-collapse: collapse; font: 400 14px/1.4 var(--rm-font); color: var(--rm-ink); font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .mol-facts th { text-align: left; padding: 8px 10px 8px 0; font: 600 12.5px/1.3 var(--rm-font); color: var(--rm-ink-3); border-bottom: 1px solid var(--rm-line); white-space: nowrap; }
html[data-rm] body.rm.rm .mol-facts td { padding: 8px 10px 8px 0; border-bottom: 1px solid var(--rm-surface); white-space: nowrap; }
html[data-rm] body.rm.rm .mol-facts td.mono { font-family: var(--rm-mono); font-weight: 600; }
html[data-rm] body.rm.rm .mol-x { color: var(--rm-ink-3); font-size: 12.5px; }
html[data-rm] body.rm.rm .mol-k { display: inline-block; padding: 2px 8px; border-radius: 999px; font: 600 12px/1.5 var(--rm-font); background: var(--rm-surface); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .mol-k-polar { background: var(--rm-green-soft); color: var(--rm-green); }
html[data-rm] body.rm.rm .mol-k-ionic { background: rgba(185, 107, 12, .14); color: var(--rm-amber); }
html[data-rm] body.rm.rm .mol-facts-note { margin: 16px 0 0; font: 400 13px/1.55 var(--rm-font); color: var(--rm-ink-3); max-width: 900px; }
@media (max-width: 980px) {
  html[data-rm] body.rm.rm .mol-facts-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html[data-rm] body.rm.rm .mol-facts-tables { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  html[data-rm] body.rm.rm .mol-facts { padding: 18px 16px; border-radius: 16px; }
  html[data-rm] body.rm.rm .mol-facts-tiles { grid-template-columns: 1fr; }
}
html[data-rm] body.rm.rm .viewer .mol-build-ex .pill.sm { display: inline-flex !important; width: auto !important; margin: 0 !important; border: 1px solid var(--rm-line) !important; border-radius: 999px !important; background: var(--rm-paper) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .viewer .mol-build-ex .pill.sm:hover { border-color: var(--rm-green) !important; }
html[data-rm] body.rm.rm .viewer .mol-build { padding: 0 0 12px; border-bottom: 1px solid var(--rm-line); margin-bottom: 4px; }
html[data-rm] body.rm.rm .mol-tile-s sub { font-size: .8em; }
/* 9m ── periodic table: more properties, values on the cards, scale legend */
html[data-rm] body.rm.rm #tab-tabela:has(.rm-pt-bar) #heatmap-legend { display: none !important; }
html[data-rm] body.rm.rm .rm-pt-more { height: 44px; padding: 0 34px 0 14px; border: 1px solid var(--rm-line-strong); border-radius: 12px; background: var(--rm-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A554C' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center; color: var(--rm-ink-2); font: 500 14px/1 var(--rm-font); cursor: pointer; appearance: none; -webkit-appearance: none; }
html[data-rm] body.rm.rm .rm-pt-more.is-on { border-color: var(--rm-green); color: var(--rm-ink); font-weight: 600; background-color: var(--rm-green-soft); }
html[data-rm] body.rm.rm .ptable .el .rm-pt-val { display: block; margin-top: 3px; font: 600 9.5px/1.1 var(--rm-font); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; text-align: left; }
html[data-rm] body.rm.rm .ptable .el:has(.rm-pt-val) .el-name { display: none; }
html[data-rm] body.rm.rm .ptable .el.rm-pt-pred { outline: 1.5px dashed rgba(20, 18, 14, .45); outline-offset: -3px; }
html[data-rm] body.rm.rm #tab-tabela.rm-pt-heat .ptable .el.rm-pt-nodata { opacity: .55; }
html[data-rm] body.rm.rm .rm-pt-scale { margin: 24px 0 0; padding: 18px 0 0; border-top: 1px solid var(--rm-line); }
html[data-rm] body.rm.rm .rm-pt-scale[hidden] { display: none; }
html[data-rm] body.rm.rm .rm-pt-scale-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
html[data-rm] body.rm.rm .rm-pt-scale-name { font: 600 15px/1.3 var(--rm-font); color: var(--rm-ink); margin-right: 6px; }
html[data-rm] body.rm.rm .rm-pt-scale-name span { font-weight: 500; color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .rm-pt-scale-lo, html[data-rm] body.rm.rm .rm-pt-scale-hi { font: 600 13.5px/1 var(--rm-font); font-variant-numeric: tabular-nums; color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .rm-pt-scale-bar { flex: 0 1 260px; min-width: 120px; height: 12px; border-radius: 999px; box-shadow: inset 0 0 0 1px rgba(20, 18, 14, .08); }
html[data-rm] body.rm.rm .rm-pt-state { display: inline-flex; align-items: center; gap: 6px; font: 500 13.5px/1 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .rm-pt-state i { width: 14px; height: 14px; border-radius: 4px; display: inline-block; }
html[data-rm] body.rm.rm .rm-pt-state i.is-none { background: var(--rm-surface); box-shadow: inset 0 0 0 1px var(--rm-line-strong); }
html[data-rm] body.rm.rm .rm-pt-state i.is-pred { background: transparent; outline: 1.5px dashed var(--rm-ink-3); outline-offset: -2px; }
html[data-rm] body.rm.rm .rm-pt-src { margin: 10px 0 0; font: 400 13px/1.5 var(--rm-font); color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .rm-pt-src b { color: var(--rm-ink-2); font-weight: 600; }
@media (max-width: 720px) {
  html[data-rm] body.rm.rm .rm-pt-more { height: 40px; }
  html[data-rm] body.rm.rm .rm-pt-scale-name { flex-basis: 100%; }
  html[data-rm] body.rm.rm .rm-pt-scale-bar { flex: 1 1 60px; min-width: 60px; }
}
/* 9n ── allotropes (design board "Alótropos 3D"): element chips, forms with
   a short line, stage caption, notes column and the measured-structure card */
html[data-rm] body.rm.rm .allo-elems { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
html[data-rm] body.rm.rm .allo-chip { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border: 1px solid var(--rm-line); border-radius: 999px; background: var(--rm-paper); color: var(--rm-ink); font: 600 14px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .allo-chip:hover { border-color: var(--rm-line-strong); }
html[data-rm] body.rm.rm .allo-chip[aria-pressed="true"] { background: var(--rm-ink); border-color: var(--rm-ink); color: var(--rm-bg); }
html[data-rm] body.rm.rm .allo-chip:focus-visible, html[data-rm] body.rm.rm .allo-row-btn:focus-visible { outline: 2px solid var(--rm-mint); outline-offset: 2px; }
html[data-rm] body.rm.rm .allo-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; box-shadow: inset 0 0 0 1px rgba(20, 18, 14, .12); }
html[data-rm] body.rm.rm .viewer .allo-btn { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 14px !important; }
html[data-rm] body.rm.rm .viewer .allo-btn .allo-n { font: 600 16px/1.25 var(--rm-font); color: var(--rm-ink); }
html[data-rm] body.rm.rm .viewer .allo-btn .allo-d { font: 400 13px/1.35 var(--rm-font); color: var(--rm-ink-2) !important; }
html[data-rm] body.rm.rm .viewer .canvas-wrap { position: relative; }
html[data-rm] body.rm.rm .allo-stage-label { position: absolute; left: 20px; top: 18px; margin: 0; font: 500 14px/1.2 var(--rm-mono); color: var(--rm-dark-muted); pointer-events: none; z-index: 2; }
html[data-rm] body.rm.rm .allo-stage-count { position: absolute; left: 20px; bottom: 18px; margin: 0; font: 400 13px/1.2 var(--rm-font); color: var(--rm-dark-dim); pointer-events: none; z-index: 2; }
html[data-rm] body.rm.rm .allo-kicker { margin: 0 0 6px; font: 600 14px/1.3 var(--rm-font); color: var(--rm-green); }
html[data-rm] body.rm.rm .allo-side .info-desc { color: var(--rm-ink) !important; opacity: .86; }
html[data-rm] body.rm.rm .allo-side-facts { margin: 4px 0 0; border-bottom: 1px solid var(--rm-line); }
html[data-rm] body.rm.rm .allo-side-facts > div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--rm-line); font: 400 15px/1.4 var(--rm-font); }
html[data-rm] body.rm.rm .allo-side-facts dt { color: var(--rm-ink-2); flex: none; }
html[data-rm] body.rm.rm .allo-side-facts dd { margin: 0; font-weight: 600; color: var(--rm-ink); text-align: right; }
html[data-rm] body.rm.rm .allo-el-link { display: inline-block; margin-top: 18px; font: 600 15px/1.4 var(--rm-font); color: var(--rm-green); }
html[data-rm] body.rm.rm .allo-facts .mol-facts-head h2 { font-size: 20px; }
html[data-rm] body.rm.rm .allo-extra { display: flex; flex-wrap: wrap; gap: 8px 28px; margin: 16px 0 0; }
html[data-rm] body.rm.rm .allo-extra > div { display: flex; gap: 8px; align-items: baseline; font: 400 14px/1.4 var(--rm-font); }
html[data-rm] body.rm.rm .allo-extra dt { color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .allo-extra dd { margin: 0; font-weight: 600; color: var(--rm-ink); font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .allo-muted { color: var(--rm-ink-3); font-weight: 400; }
html[data-rm] body.rm.rm .allo-compare { margin-top: 22px; }
html[data-rm] body.rm.rm .allo-compare tr.is-on td { background: var(--rm-green-soft); }
html[data-rm] body.rm.rm .allo-compare td:first-child { padding-left: 8px; }
html[data-rm] body.rm.rm .allo-row-btn { padding: 0; border: 0; background: none; font: 600 14px/1.4 var(--rm-font); color: var(--rm-ink); cursor: pointer; text-align: left; text-decoration: underline; text-decoration-color: var(--rm-line-strong); text-underline-offset: 3px; }
html[data-rm] body.rm.rm .allo-compare tr.is-on .allo-row-btn { text-decoration: none; }
html[data-rm] body.rm.rm .allo-sources { display: flex; gap: 8px; margin: 8px 0 0; font: 400 13px/1.55 var(--rm-font); color: var(--rm-ink-3); }
html[data-rm] body.rm.rm .allo-sources span { font-weight: 600; }
html[data-rm] body.rm.rm .allo-sources ul { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 0 6px; }
html[data-rm] body.rm.rm .allo-sources li + li::before { content: '·'; margin-right: 6px; }
@media (max-width: 760px) {
  html[data-rm] body.rm.rm .viewer .allo-btn { flex-direction: row; align-items: center; padding: 8px 14px !important; }
  html[data-rm] body.rm.rm .viewer .allo-btn .allo-n { font-size: 14px; }
  html[data-rm] body.rm.rm .viewer .allo-btn .allo-d { display: none; }
  html[data-rm] body.rm.rm .allo-stage-label { left: 14px; top: 14px; font-size: 12.5px; }
  html[data-rm] body.rm.rm .allo-stage-count { display: none; }
  html[data-rm] body.rm.rm .allo-sources { flex-direction: column; gap: 2px; }
  html[data-rm] body.rm.rm .allo-sources ul { flex-direction: column; }
  html[data-rm] body.rm.rm .allo-sources li + li::before { content: none; }
  html[data-rm] body.rm.rm .viewer .allo-btn.active { border-color: var(--rm-ink) !important; }
}
/* the allotrope page has no legend row under the stage: keep the list and the
   notes column on the stage row so no empty rows open a gap above the card */
@media (min-width: 1181px) {
  html[data-rm] body.rm.rm .viewer.rm-vw:has(#allo-variants) > .rm-vw-side,
  html[data-rm] body.rm.rm .viewer.rm-vw:has(#allo-variants) > .panel { grid-row: 1 !important; }
}
html[data-rm] body.rm.rm .allo-compare table { display: table !important; width: 100% !important; max-width: none !important; }
html[data-rm] body.rm.rm .allo-facts { margin-top: 8px; }
/* /app top bar: the same light / dark switch as the site header */
html[data-rm-ws][data-rm-app] .ws-topbar .rm-theme-switch { margin-left: 0; }
/* 9o ── atomic models: any element. Picker (select + previous / next), legend
   dots in the colours the model really uses, per-element card lines. */
html[data-rm] body.rm.rm .atom-el-pick { display: flex; align-items: center; gap: 6px; margin: 0 0 6px; }
html[data-rm] body.rm.rm .atom-el-pick select { flex: 1 1 auto; min-width: 0; height: 44px; padding: 0 30px 0 12px; border: 1px solid var(--rm-line-strong); border-radius: 10px; background: var(--rm-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235A554C' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center; color: var(--rm-ink); font: 600 14.5px/1 var(--rm-font); appearance: none; -webkit-appearance: none; cursor: pointer; }
html[data-rm] body.rm.rm .atom-el-step { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 44px; border: 1px solid var(--rm-line-strong); border-radius: 10px; background: var(--rm-paper); color: var(--rm-ink); cursor: pointer; }
html[data-rm] body.rm.rm .atom-el-step:hover:not(:disabled) { background: var(--rm-surface); }
html[data-rm] body.rm.rm .atom-el-step:disabled { opacity: .4; cursor: default; }
html[data-rm] body.rm.rm .atom-el-pick :is(select, button):focus-visible { outline: 2px solid var(--rm-mint); outline-offset: 2px; }
html[data-rm] body.rm.rm .legend-dot.atom-dot-p { background: #C45C4A !important; }
html[data-rm] body.rm.rm .legend-dot.atom-dot-n { background: #1E6A50 !important; }
html[data-rm] body.rm.rm .legend-dot.atom-dot-e { background: #E8E2D4 !important; box-shadow: 0 0 0 1px rgba(20, 18, 14, .35) !important; }
html[data-rm] body.rm.rm .legend-dot.atom-dot-orbit { background: #14120E !important; box-shadow: inset 0 0 0 2px rgba(52, 168, 114, .8) !important; }
html[data-rm] body.rm.rm .legend-dot.atom-dot-cloud { background: radial-gradient(circle, #E8E2D4 0 22%, #14120E 72%) !important; box-shadow: none !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-shells { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; }
html[data-rm] body.rm.rm .rm-vw-side .md-shells:not(.on) { display: none; }
html[data-rm] body.rm.rm .rm-vw-side .md-shell-k { flex: 1 0 100%; font: 600 13px/1.4 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .rm-vw-side .md-conf { font: 500 13px/1.4 var(--rm-mono); color: var(--rm-ink); margin-left: 4px; }
html[data-rm] body.rm.rm .rm-vw-side .md-shell { font: 400 14px/1.4 var(--rm-font) !important; color: var(--rm-ink) !important; }
html[data-rm] body.rm.rm .rm-vw-side .md-shells:has(.legend-dot) .md-shell { flex: 1 0 100%; }
html[data-rm] body.rm.rm .rm-vw-side .md-shell b { color: var(--rm-green); font-weight: 700; }
html[data-rm] body.rm.rm .rm-vw-side .md-shell-note { color: var(--rm-ink-3); }
/* the 3D / 2D stage is always dark on these pages: same colours as the cloud */
html[data-rm] body.rm.rm .legend-dot.md-dot-core { background: #7ABA9E; }
html[data-rm] body.rm.rm .legend-dot.md-dot-open { background: #E6AA5A; }
html[data-rm] body.rm.rm .legend-dot.md-dot-val { background: #E8E2D4; box-shadow: 0 0 0 1px rgba(20, 18, 14, .35); }
/* chart that could not load (offline / blocked CDN): a note and a retry */
html[data-rm] body.rm.rm .chart-unavailable { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 220px; padding: 24px; border: 1px dashed var(--rm-line-strong); border-radius: 14px; background: var(--rm-paper); text-align: center; }
html[data-rm] body.rm.rm .chart-unavailable p { margin: 0; max-width: 420px; font: 400 15px/1.5 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .chart-unavailable button { height: 40px; padding: 0 16px; border: 1px solid var(--rm-line-strong); border-radius: 10px; background: var(--rm-bg); color: var(--rm-ink); font: 600 14px/1 var(--rm-font); cursor: pointer; }
html[data-rm] body.rm.rm .chart-unavailable button:hover { background: var(--rm-surface); }
/* 9p ── element page: electron shells (static Bohr diagram from the build) */
html[data-rm] body.rm.rm .rm-shells { display: flex; flex-wrap: wrap; align-items: center; gap: 24px 36px; }
html[data-rm] body.rm.rm .rm-shell-svg { flex: none; width: 220px; height: 220px; }
html[data-rm] body.rm.rm .rm-shell-ring { fill: none; stroke: var(--rm-line-strong); stroke-width: 1.4; }
html[data-rm] body.rm.rm .rm-shell-e { fill: var(--rm-ink); }
html[data-rm] body.rm.rm .rm-shell-nuc { fill: var(--rm-green); }
html[data-rm] body.rm.rm .rm-shell-sym { fill: #F8F5EC; font: 700 15px var(--rm-font); }
html[data-rm] body.rm.rm .rm-shells-txt { flex: 1 1 240px; min-width: 0; display: flex; flex-direction: column; gap: 12px; }
html[data-rm] body.rm.rm .rm-shell-list { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
html[data-rm] body.rm.rm .rm-shell-list li { display: flex; flex-direction: column; align-items: center; min-width: 44px; padding: 8px 6px; border: 1px solid var(--rm-line); border-radius: 12px; background: var(--rm-paper); }
html[data-rm] body.rm.rm .rm-shell-list b { font: 700 13px/1 var(--rm-font); color: var(--rm-green); }
html[data-rm] body.rm.rm .rm-shell-list span { margin-top: 4px; font: 700 20px/1 var(--rm-font); color: var(--rm-ink); font-variant-numeric: tabular-nums; }
html[data-rm] body.rm.rm .rm-shells-conf, html[data-rm] body.rm.rm .rm-shells-outer { margin: 0; font: 400 15px/1.5 var(--rm-font); color: var(--rm-ink-2); }
html[data-rm] body.rm.rm .rm-shells-conf .rm-mono { color: var(--rm-ink); font-size: 14px; }
html[data-rm] body.rm.rm .rm-shells-link { font: 600 15px/1.4 var(--rm-font); color: var(--rm-green); }
@media (max-width: 560px) {
  html[data-rm] body.rm.rm .rm-shells { justify-content: center; }
  html[data-rm] body.rm.rm .rm-shell-svg { width: 200px; height: 200px; }
}
@media (max-width: 340px) {
  /* 320px phones: the mark alone keeps search, theme and menu on the line */
  .rm-header-in > .rm-brand .rm-brand-name { display: none; }
}

/* 11 ── Bottom tab bar (phones) ─────────────────────────────────────
   On narrow screens the main sections live in a fixed bar at the bottom,
   like a native app; the burger keeps the secondary links. */
.rm-tabbar { display: none; }
@media (max-width: 1023px) {
  .rm-tabbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    display: grid; grid-template-columns: repeat(5, 1fr);
    padding: 6px 6px calc(6px + env(safe-area-inset-bottom, 0px));
    background: color-mix(in oklab, var(--rm-paper) 92%, transparent);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    border-top: 1px solid var(--rm-line);
    box-shadow: 0 -8px 24px rgba(20, 18, 14, .06);
  }
  .rm-tab {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    min-height: 52px; padding: 4px 2px; border-radius: 12px;
    color: var(--rm-ink-2); font: 600 11.5px/1.1 var(--rm-font); text-decoration: none;
    -webkit-tap-highlight-color: transparent; transition: color .15s, background .15s, transform .15s;
  }
  .rm-tab svg { width: 24px; height: 24px; transition: transform .2s cubic-bezier(.22, 1.4, .36, 1); }
  .rm-tab:active { transform: scale(.94); }
  .rm-tab.is-active { color: var(--rm-green); background: var(--rm-green-soft); }
  .rm-tab.is-active svg { transform: translateY(-1px) scale(1.08); }
  html.has-rm-tabbar body, html.has-rm-tabbar body.ps-body, html.has-rm-tabbar body.ws-body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; }
  html.has-rm-tabbar .rm-footer { padding-bottom: 24px; }
  /* The drawer keeps every section. The bottom bar is only a shortcut,
     so opening the menu must not hide the links the bar already shows. */
  html.rm-lesson-open .rm-tabbar, html:fullscreen .rm-tabbar { display: none; }
  /* App shell: the bar replaces the old three-item bottom nav. */
  html[data-rm-ws][data-rm-app] .ws-bottom { display: none !important; }
  html[data-rm-ws][data-rm-app].has-rm-tabbar .ws-main { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
}
html[data-theme="dark"] .rm-tabbar { background: color-mix(in oklab, #14120E 90%, transparent); box-shadow: 0 -8px 24px rgba(0, 0, 0, .35); }

/* 12 ── Study journey: motion ────────────────────────────────────────
   Nodes slide in along the path, the current one breathes, a node that just
   got done pops, bars fill, options bounce, wrong shakes, the finish screen
   showers confetti and counts XP. All off under reduced motion. */
.rm-jn-row { animation: rm-jn-in 480ms cubic-bezier(.22, 1, .36, 1) both; animation-delay: calc(var(--i, 0) * 55ms); }
@keyframes rm-jn-in { from { opacity: 0; transform: translateX(var(--off, 0)) translateY(18px) scale(.94); } to { opacity: 1; transform: translateX(var(--off, 0)) translateY(0) scale(1); } }
.rm-jn-dot { transition: transform .18s cubic-bezier(.22, 1.4, .36, 1), background .2s, box-shadow .2s; }
.rm-jn-node:active .rm-jn-dot { transform: scale(.92); }
.rm-jn-node.is-current .rm-jn-dot { animation: rm-jn-breathe 2.2s ease-in-out infinite; }
@keyframes rm-jn-breathe { 0%, 100% { box-shadow: 0 0 0 3px var(--rm-paper), 0 0 0 6px var(--rm-green); } 50% { box-shadow: 0 0 0 3px var(--rm-paper), 0 0 0 9px color-mix(in oklab, var(--rm-green) 55%, transparent); } }
.rm-jn-node.is-current.is-practice .rm-jn-dot { animation: none; }
.rm-jn-node.is-current.is-practice::before { transition: background .5s; }
.rm-jn-node.is-just-done .rm-jn-dot { animation: rm-jn-pop 720ms cubic-bezier(.22, 1.6, .36, 1); }
@keyframes rm-jn-pop { 0% { transform: scale(.6) rotate(-12deg); } 60% { transform: scale(1.18) rotate(4deg); } 100% { transform: scale(1) rotate(0); } }
.rm-jn-node.is-just-done::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 3px solid var(--rm-green); animation: rm-jn-ring 900ms ease-out forwards; pointer-events: none; }
@keyframes rm-jn-ring { from { opacity: .9; transform: scale(.8); } to { opacity: 0; transform: scale(1.7); } }
.rm-jn-badge { animation: rm-jn-badge 600ms cubic-bezier(.22, 1.4, .36, 1) both; animation-delay: calc(var(--i, 0) * 55ms + 240ms); }
@keyframes rm-jn-badge { from { opacity: 0; transform: translateX(-50%) translateY(6px) scale(.8); } to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); } }
.rm-jn-pop { animation: rm-jn-popin 220ms cubic-bezier(.22, 1.3, .36, 1); transform-origin: top center; }
@keyframes rm-jn-popin { from { opacity: 0; transform: translateY(-8px) scale(.94); } to { opacity: 1; transform: none; } }
.rm-jn-unit-bar i, .rm-jn-bar i { transition: width .7s cubic-bezier(.22, 1, .36, 1); }
.rm-jn-stat-k.is-fire svg { animation: rm-jn-flame 1.6s ease-in-out infinite; transform-origin: 50% 90%; }
@keyframes rm-jn-flame { 0%, 100% { transform: scale(1) rotate(-3deg); } 50% { transform: scale(1.12) rotate(3deg); } }
.rm-jn-stat b { transition: transform .2s; }
.rm-jn-stat.is-bump b { animation: rm-jn-bump 500ms cubic-bezier(.22, 1.6, .36, 1); }
@keyframes rm-jn-bump { 50% { transform: scale(1.25); color: var(--rm-green); } }
.rm-jn-go { transition: transform .12s, box-shadow .12s; }
.rm-jn-go:active { transform: translateY(2px); }
.rm-jn-free-item, .rm-jn-card { transition: transform .15s, box-shadow .15s; }
.rm-jn-free-item:hover { transform: translateX(3px); }

/* lesson player */
.rm-lesson { animation: rm-ls-in 260ms cubic-bezier(.22, 1, .36, 1); }
@keyframes rm-ls-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.rm-lesson-body { animation: rm-ls-step 260ms cubic-bezier(.22, 1, .36, 1); }
@keyframes rm-ls-step { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: none; } }
.rm-lesson-bar i { transition: width .45s cubic-bezier(.22, 1, .36, 1); }
.rm-lesson-opt { transition: transform .12s, background .15s, border-color .15s, box-shadow .15s; }
.rm-lesson-opt:active:not(:disabled) { transform: scale(.97); }
.rm-lesson-opt.is-picked { animation: rm-ls-pick 220ms cubic-bezier(.22, 1.5, .36, 1); }
@keyframes rm-ls-pick { 50% { transform: scale(1.03); } }
.rm-lesson-opt.is-right { animation: rm-ls-right 600ms cubic-bezier(.22, 1.4, .36, 1); }
@keyframes rm-ls-right { 0% { transform: scale(1); } 35% { transform: scale(1.05); box-shadow: 0 0 0 6px color-mix(in oklab, var(--rm-green) 30%, transparent); } 100% { transform: scale(1); } }
.rm-lesson-opt.is-wrong { animation: rm-ls-shake 480ms cubic-bezier(.36, .07, .19, .97); }
@keyframes rm-ls-shake { 10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); } 30%, 50%, 70% { transform: translateX(-6px); } 40%, 60% { transform: translateX(6px); } }
.rm-lesson-foot.is-ok, .rm-lesson-foot.is-bad { animation: rm-ls-foot 300ms cubic-bezier(.22, 1, .36, 1); }
@keyframes rm-ls-foot { from { transform: translateY(100%); } to { transform: none; } }
.rm-lesson-tile { animation: rm-ls-tile 500ms cubic-bezier(.22, 1.4, .36, 1); }
@keyframes rm-ls-tile { from { opacity: 0; transform: rotate(-6deg) scale(.8); } to { opacity: 1; transform: none; } }
.rm-lesson-btn.is-primary:active:not(:disabled) { transform: translateY(2px); box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .18); }
.rm-lesson-done { position: relative; overflow: hidden; }
.rm-lesson-done-ico { animation: rm-ls-done 700ms cubic-bezier(.22, 1.6, .36, 1); }
@keyframes rm-ls-done { 0% { transform: scale(0) rotate(-30deg); } 70% { transform: scale(1.15) rotate(5deg); } 100% { transform: scale(1) rotate(0); } }
.rm-lesson-done h2, .rm-lesson-done-stats, .rm-lesson-done > .rm-lesson-btn { animation: rm-ls-rise 500ms cubic-bezier(.22, 1, .36, 1) both; }
.rm-lesson-done h2 { animation-delay: 150ms; } .rm-lesson-done-stats { animation-delay: 300ms; } .rm-lesson-done > .rm-lesson-btn { animation-delay: 450ms; }
@keyframes rm-ls-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.rm-confetti { position: absolute; top: -12px; width: 10px; height: 14px; border-radius: 2px; opacity: .95; animation: rm-confetti var(--d, 2.4s) cubic-bezier(.2, .6, .4, 1) var(--dl, 0s) both; pointer-events: none; }
@keyframes rm-confetti { 0% { transform: translate(0, 0) rotate(0); opacity: 1; } 100% { transform: translate(var(--x, 0), 110vh) rotate(var(--r, 720deg)); opacity: .7; } }
@media (prefers-reduced-motion: reduce), (html[data-reduced-motion="1"]) {
  .rm-jn-row, .rm-jn-badge, .rm-jn-pop, .rm-jn-node .rm-jn-dot, .rm-jn-node.is-just-done::after, .rm-jn-stat-k.is-fire svg, .rm-lesson, .rm-lesson-body, .rm-lesson-opt, .rm-lesson-foot, .rm-lesson-tile, .rm-lesson-done *, .rm-confetti { animation: none !important; }
}
html[data-reduced-motion="1"] .rm-jn-row, html[data-reduced-motion="1"] .rm-jn-node .rm-jn-dot, html[data-reduced-motion="1"] .rm-lesson-opt, html[data-reduced-motion="1"] .rm-confetti { animation: none !important; }
/* Camera: its own item in the top nav, with the Pro tag; six tabs on phones */
.rm-link-camera { display: inline-flex; align-items: center; gap: 6px; }
.rm-pro-tag, .rm-app-tag { display: inline-block; margin-left: 6px; padding: 2px 6px; border-radius: 999px; background: var(--rm-green-soft); color: var(--rm-green); font: 700 10px/1.2 var(--rm-font); letter-spacing: .06em; vertical-align: 1px; }
.app-dl { max-width: 720px; }
.app-dl-beta {
  margin: 8px 0 20px;
  max-width: 440px;
  padding: 22px 22px 18px;
  border: 1px solid var(--rm-line);
  border-radius: 16px;
  background: var(--rm-paper);
  box-shadow: 0 10px 28px rgba(20, 18, 14, .06);
}
.app-dl-beta-title { margin: 0 0 8px; font: 700 28px/1.15 var(--rm-font); letter-spacing: -0.02em; }
.app-dl-beta-lead { margin: 0 0 16px; color: var(--rm-ink-2); font: 400 16px/1.45 var(--rm-font); }
.app-dl-beta-label { display: block; margin: 0 0 6px; font: 600 14px/1.2 var(--rm-font); }
.app-dl-beta-label abbr { text-decoration: none; color: var(--rm-green); }
.app-dl-beta input[type="email"] {
  display: block;
  width: 100%;
  height: 48px;
  margin: 0 0 12px;
  padding: 0 14px;
  box-sizing: border-box;
  border: 1px solid var(--rm-line-strong);
  border-radius: 10px;
  background: var(--rm-bg);
  color: var(--rm-ink);
  font: 400 16px/1 var(--rm-font);
}
.app-dl-beta input[type="email"]:focus { outline: 2px solid var(--rm-green); outline-offset: 2px; }
.app-dl-gotcha { position: absolute; left: -9999px; height: 0; width: 0; opacity: 0; }
.app-dl-beta-btn { width: 100%; height: 52px; border-radius: 12px; font-size: 16px; }
@media (max-width: 1023px) {
  .app-dl .lc-doc-kicker,
  .app-dl .lc-doc-title,
  .app-dl .lc-doc-desc { display: none; }
  .app-dl-beta { margin-top: 12px; }
}
.app-dl-beta-ok, .app-dl-beta-err { margin: 12px 0 0; font: 600 14px/1.4 var(--rm-font); }
.app-dl-beta-ok { color: var(--rm-green); }
.app-dl-beta-err { color: #9a3412; }
.app-dl-beta-note { margin: 12px 0 0; color: var(--rm-ink-2); font: 400 13px/1.4 var(--rm-font); }
.app-dl-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.app-dl-actions a[aria-disabled="true"] { opacity: .72; pointer-events: none; }
.app-dl-qr { display: none; margin: 28px 0 0; }
.app-dl-qr img { display: block; width: 168px; height: 168px; background: #F8F5EC; border-radius: 12px; }
.app-dl-qr figcaption { margin-top: 8px; color: var(--rm-ink-2); font: 400 14px/1.4 var(--rm-font); }
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  .app-dl-qr { display: block; }
}
@media (max-width: 1023px) {
  .rm-tabbar { grid-template-columns: repeat(6, 1fr); padding-left: 2px; padding-right: 2px; }
  .rm-tab { font-size: 10.5px; padding: 4px 0; }
  .rm-tab svg { width: 22px; height: 22px; }
}
