/* Scoped entirely to the plugin: compatible with block themes and common dark/light modes. */
.cmrc-calculator, .cmrc-suite { box-sizing: border-box; }
.cmrc-calculator *, .cmrc-suite * { box-sizing: border-box; }
.cmrc-calculator {
  --cmrc-bg: #ffffff;
  --cmrc-text: #192639;
  --cmrc-muted: #596777;
  --cmrc-border: #dce4ec;
  --cmrc-panel: #f3f6fa;
  --cmrc-field: #ffffff;
  --cmrc-accent: #bd770c;
  --cmrc-accent-text: #654005;
  --cmrc-highlight: #fff3dc;
  --cmrc-focus: #0a72b2;
  --cmrc-alert: #c33333;
  color: var(--cmrc-text);
  background: var(--cmrc-bg);
  border: 1px solid var(--cmrc-border);
  border-radius: 19px;
  padding: clamp(17px, 2.5vw, 30px);
  margin: 24px 0;
  max-width: 1100px;
  line-height: 1.45;
  font-size: 15px;
  box-shadow: 0 9px 30px rgba(0, 0, 0, .045);
}
@media (prefers-color-scheme: dark) {
  .cmrc-calculator {
    --cmrc-bg: #131f2d; --cmrc-text: #ecf3f8; --cmrc-muted: #afc0d1;
    --cmrc-border: #304459; --cmrc-panel: #192b3d; --cmrc-field: #0e1a27;
    --cmrc-accent: #ffd17f; --cmrc-accent-text: #ffd17f;
    --cmrc-highlight: #23384a; --cmrc-focus: #8ccafa; --cmrc-alert: #ffa6a6;
    box-shadow: none;
  }
}
/* Overrides for themes using a manual dark/light switch. */
html[data-theme="light"] .cmrc-calculator, html.light .cmrc-calculator, body.light-mode .cmrc-calculator {
  --cmrc-bg: #ffffff; --cmrc-text: #192639; --cmrc-muted: #596777;
  --cmrc-border: #dce4ec; --cmrc-panel: #f3f6fa; --cmrc-field: #ffffff;
  --cmrc-accent: #bd770c; --cmrc-accent-text: #654005;
  --cmrc-highlight: #fff3dc; --cmrc-focus: #0a72b2; --cmrc-alert: #c33333;
}
html[data-theme="dark"] .cmrc-calculator, html.dark .cmrc-calculator, body.dark-mode .cmrc-calculator {
  --cmrc-bg: #131f2d; --cmrc-text: #ecf3f8; --cmrc-muted: #afc0d1;
  --cmrc-border: #304459; --cmrc-panel: #192b3d; --cmrc-field: #0e1a27;
  --cmrc-accent: #ffd17f; --cmrc-accent-text: #ffd17f;
  --cmrc-highlight: #23384a; --cmrc-focus: #8ccafa; --cmrc-alert: #ffa6a6;
}
.cmrc-calculator [hidden] { display: none !important; }
.cmrc-calculator button, .cmrc-calculator input, .cmrc-calculator select {
  font: inherit; letter-spacing: normal; text-transform: none;
}
.cmrc-topline, .cmrc-heading, .cmrc-result-top, .cmrc-presets {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
}
.cmrc-kicker {
  color: var(--cmrc-accent-text); font-size: 10px; font-weight: 850;
  letter-spacing: 1.65px; line-height: 1.4;
}
.cmrc-chip {
  color: var(--cmrc-muted); font-size: 11px; font-weight: 650;
  padding: 5px 9px; border: 1px solid var(--cmrc-border); border-radius: 40px;
  white-space: nowrap;
}
.cmrc-heading { margin: 12px 0 21px; align-items: flex-start; }
.cmrc-heading h3 { color: var(--cmrc-text); margin: 0 0 5px; font-size: clamp(22px, 2.6vw, 29px); letter-spacing: -.65px; line-height: 1.18; font-weight: 800; }
.cmrc-heading p { color: var(--cmrc-muted); margin: 0; font-size: 13px; }
.cmrc-icon {
  display: grid; place-items: center; flex: 0 0 37px; height: 37px;
  background: var(--cmrc-highlight); border: 1px solid var(--cmrc-border);
  color: var(--cmrc-accent-text); font-size: 25px; border-radius: 11px;
}
.cmrc-body { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(18px, 2.5vw, 30px); align-items: start; }
.cmrc-form { min-width: 0; margin: 0; padding: 0; }
.cmrc-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px 12px; }
.cmrc-field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.cmrc-field label { color: var(--cmrc-text); font-size: 12px; font-weight: 720; line-height: 1.3; }
.cmrc-input-wrap { position: relative; min-width: 0; }
.cmrc-field input, .cmrc-field select {
  display: block; width: 100%; min-width: 0; max-width: 100%; min-height: 44px;
  background: var(--cmrc-field); color: var(--cmrc-text);
  border: 1px solid var(--cmrc-border); border-radius: 9px;
  padding: 10px 11px; padding-right: 24px;
  box-shadow: none; outline-offset: 2px; margin: 0; font-size: 14px;
}
.cmrc-field input:focus-visible, .cmrc-field select:focus-visible, .cmrc-calculator button:focus-visible {
  outline: 2px solid var(--cmrc-focus); outline-offset: 2px;
}
.cmrc-field select { appearance: auto; padding-right: 8px; }
.cmrc-unit { position: absolute; right: 9px; top: 50%; transform: translateY(-50%); font-size: 11px; color: var(--cmrc-muted); pointer-events: none; white-space: nowrap; }
.cmrc-hint { color: var(--cmrc-muted); font-size: 11px; line-height: 1.42; }
.cmrc-custom-row, .cmrc-custom-row > .cmrc-field, [data-cmrc-gain-row] { min-width: 0; }
.cmrc-custom-row { grid-column: 1 / -1; }
.cmrc-presets { justify-content: flex-start; flex-wrap: wrap; margin-top: 17px; gap: 7px; }
.cmrc-presets span { color: var(--cmrc-muted); font-size: 11px; margin-right: 2px; }
.cmrc-presets button, .cmrc-copy {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 31px; border: 1px solid var(--cmrc-border); border-radius: 8px;
  background: var(--cmrc-panel); color: var(--cmrc-text);
  padding: 5px 9px; font-size: 11px; font-weight: 750;
  cursor: pointer; box-shadow: none; transition: background .15s, border-color .15s;
}
.cmrc-presets button:hover, .cmrc-copy:not(:disabled):hover { border-color: var(--cmrc-accent); background: var(--cmrc-highlight); }
.cmrc-output {
  background: var(--cmrc-panel); border: 1px solid var(--cmrc-border);
  border-radius: 14px; padding: clamp(14px, 2vw, 19px); min-width: 0;
}
.cmrc-result-top { border-bottom: 1px solid var(--cmrc-border); padding-bottom: 10px; margin-bottom: 12px; }
.cmrc-result-top strong { font-size: 13px; font-weight: 850; color: var(--cmrc-text); }
.cmrc-live-dot { height: 7px; width: 7px; border-radius: 50%; background: #3ca66a; box-shadow: 0 0 0 3px rgba(60,166,106,.13); }
.cmrc-result { display: flex; gap: 14px; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--cmrc-border); padding: 9px 0; }
.cmrc-result-label { font-size: 12px; color: var(--cmrc-muted); flex: 1; }
.cmrc-result-value { color: var(--cmrc-text); font-size: 14px; text-align: right; font-weight: 740; overflow-wrap: anywhere; }
.cmrc-result-primary { flex-direction: column; align-items: stretch; gap: 1px; border-bottom: 1px solid var(--cmrc-border); padding: 2px 0 11px; }
.cmrc-result-primary .cmrc-result-label { color: var(--cmrc-accent-text); font-size: 12px; font-weight: 780; }
.cmrc-result-primary .cmrc-result-value { color: var(--cmrc-text); font-size: clamp(22px, 2.5vw, 29px); font-weight: 850; text-align: left; letter-spacing: -.45px; line-height: 1.2; }
.cmrc-result-detail { color: var(--cmrc-muted); font-size: 11px; line-height: 1.5; margin: 13px 0 0; }
.cmrc-error { font-size: 13px; padding: 9px 10px; border: 1px solid var(--cmrc-alert); color: var(--cmrc-alert); border-radius: 8px; }
.cmrc-copy { margin-top: 15px; background: var(--cmrc-highlight); color: var(--cmrc-accent-text); min-height: 35px; }
.cmrc-copy:disabled { opacity: .4; cursor: not-allowed; }
.cmrc-copy-status { color: var(--cmrc-muted); padding-left: 9px; font-size: 11px; }
.cmrc-disclaimer { border-top: 1px solid var(--cmrc-border); padding-top: 13px; margin: 22px 0 0; color: var(--cmrc-muted); font-size: 11px; line-height: 1.6; }
.cmrc-suite { display: grid; gap: 20px; grid-template-columns: minmax(0, 1fr); }
.cmrc-suite > .cmrc-calculator { width: 100%; max-width: unset; margin: 0; }
.cmrc-editor-card { padding: 22px; border: 1px solid #d6a851; border-radius: 12px; min-height: 130px; }
@media (max-width: 780px) { .cmrc-body { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) {
  .cmrc-calculator { padding: 15px; border-radius: 13px; margin: 17px 0; }
  .cmrc-chip { font-size: 10px; }
  .cmrc-heading { margin-bottom: 15px; }
  .cmrc-fields { gap: 12px 9px; }
  .cmrc-field label { font-size: 11px; }
  .cmrc-field input, .cmrc-field select { font-size: 16px; min-height: 46px; }
  .cmrc-unit { font-size: 10px; right: 5px; }
}
@media (max-width: 340px) { .cmrc-fields { grid-template-columns: 1fr; } }


/* v1.1.0: designed calculator landing page, independent of the theme. */
.cmrc-landing {
  --cmrl-bg: #0a1625; --cmrl-ink: #edf4fc; --cmrl-muted: #a6b7ca;
  --cmrl-gold: #ffba48; --cmrl-panel: #10233a; --cmrl-line: #294054;
  color: var(--cmrl-ink); width: 100%; max-width: 1100px;
  margin: 0 auto 52px; font-family: inherit; box-sizing: border-box;
}
.cmrc-landing *, .cmrc-landing *::before, .cmrc-landing *::after { box-sizing: border-box; }
.cmrc-landing a { text-decoration: none; }
.cmrc-landing :is(a,button):focus-visible { outline: 3px solid #4baef5; outline-offset: 3px; }
.cmrc-landing-hero { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.5fr 1fr; align-items: center; gap: 22px; background: radial-gradient(circle at 95% 0, #1f4867 0, transparent 48%),linear-gradient(122deg,#091929,#102b44); border: 1px solid #294659; padding: clamp(25px, 4vw, 53px); border-radius: 23px; }
.cmrc-landing-hero:before { content: ''; width: 430px; height: 430px; border-radius: 50%; border: 1px solid rgba(255,186,72,.14); position: absolute; right: -200px; top: -150px; pointer-events: none; box-shadow: 0 0 0 43px rgba(255,186,72,.017),0 0 0 100px rgba(255,186,72,.013); }
.cmrc-landing-hero-copy, .cmrc-landing-dial { position: relative; z-index: 1; }
.cmrc-landing-eyebrow,.cmrc-landing-smallcaps { color: var(--cmrl-gold); font-weight: 780; font-size: 11px; letter-spacing: 1.6px; line-height: 1.5; margin: 0 0 14px; }
.cmrc-landing-status, .cmrc-landing-led { display:inline-block; background:#50d69b; width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 4px rgba(80,214,155,.13);vertical-align:middle;margin-right:7px; }
.cmrc-landing-hero h2 { color: #fff; font-weight: 870; line-height: 1.05; letter-spacing:-1.8px; font-size:clamp(34px, 4.8vw, 59px); margin: 0 0 18px; }
.cmrc-landing-hero h2 span { color:var(--cmrl-gold); }
.cmrc-landing-summary { color:#c4d4e3; max-width:560px; font-size:15px; line-height:1.7; margin:0 0 20px; }
.cmrc-landing-tags { display:flex; flex-wrap:wrap; gap:8px; }
.cmrc-landing-tags span { color:#c6d5e4; border:1px solid #39536b; background:#ffffff0b; font-size:11px; border-radius:30px; padding:7px 11px; }
.cmrc-landing-dial { border: 1px solid #4b6174; border-radius:18px; background:linear-gradient(160deg,#203348,#102337); padding:22px 22px 16px; box-shadow:0 18px 34px #0005, inset 0 2px 0 #ffffff12; }
.cmrc-landing-dial-label { color:#d5e2ec; font-size:10px; font-weight:800; letter-spacing:1.8px; }
.cmrc-landing-dial-label .cmrc-landing-led { float:right; margin-top:4px; }
.cmrc-landing-readout { border: 1px solid #4d715f; background:linear-gradient(155deg,#153b34,#071b21); color:#bdfcc9; display:flex; justify-content:space-between; gap:11px; flex-wrap:wrap; margin:20px 0 17px;padding:17px 14px;border-radius:10px;box-shadow:inset 0 0 15px #58ff9110; font-variant-numeric:tabular-nums; align-items:baseline; }
.cmrc-landing-readout span:first-child { font-size:13px;color:#9cc4ab; white-space:nowrap; }
.cmrc-landing-readout span:first-child strong {font-size:24px;color:#bdfcc9;margin-left:3px;}
.cmrc-landing-readout span:last-child {white-space:nowrap; font-size:11px;color:#8cbea0;}
.cmrc-landing-readout span:last-child strong {font-size:clamp(22px, 2.3vw, 31px);font-weight:820;color:#bdfcc9;letter-spacing:.4px;}
.cmrc-landing-signal { display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:#a7bed0; }
.cmrc-landing-meter { display:flex;flex:1;gap:3px;height:13px;align-items:flex-end; }
.cmrc-landing-meter i { width:10%;height:55%;background:#52ca8f;border-radius:2px; }
.cmrc-landing-meter i:nth-child(n+5) {height:80%;}
.cmrc-landing-meter i:nth-child(n+8) {background:#ffb546;height:100%;}
.cmrc-landing-meter i:nth-child(n+10) {background:#f27a65;}
.cmrc-landing-dial-foot { text-align:center;letter-spacing:2px;font-size:9px;color:#829bb0;border-top:1px solid #354a5c;margin-top:20px;padding-top:14px; }
.cmrc-landing-dial-foot span { color:var(--cmrl-gold);margin:0 4px; }
.cmrc-landing-index { margin-top:23px; padding:25px; border-radius:18px; color:#18283a; background:#f6f8fb; border:1px solid #dce5ed; }
.cmrc-landing-index-top { display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px; }
.cmrc-landing-index .cmrc-landing-smallcaps { color:#a26710;margin-bottom:5px; }
.cmrc-landing-index h2 { color:#18283a; font-size:clamp(20px, 3vw, 26px); letter-spacing:-.5px;margin:0;line-height:1.25; }
.cmrc-landing-index-count { color:#6c7c8e;font-weight:800;letter-spacing:1px;font-size:11px;white-space:nowrap; }
.cmrc-landing-links {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.cmrc-landing-links a { color:#21344a; display:flex;align-items:center;gap:10px;border:1px solid #dce5ef;background:#fff;border-radius:11px;min-height:61px;padding:11px;font-size:12px;font-weight:770;line-height:1.3;transition:transform .18s,border-color .18s; }
.cmrc-landing-links a:hover {border-color:#c58821;transform:translateY(-2px);}
.cmrc-landing-link-icon {width:29px;height:29px;flex-shrink:0;display:grid;place-items:center;background:#f4e8ce;color:#82540d;border-radius:8px;font-variant-numeric:tabular-nums; }
.cmrc-landing-links a>span:last-child {color:#8591a3;margin-left:auto;}
.cmrc-landing-tools { margin-top:33px; }
.cmrc-landing-tool {margin-bottom:54px;scroll-margin-top:110px;}
.cmrc-landing-tool-intro { display:flex;gap:14px;justify-content:space-between;align-items:flex-end;padding:7px 0 4px;border-bottom:1px solid #d6e0e9; }
.cmrc-landing-tool-intro .cmrc-landing-smallcaps {color:#a86a0c;margin-bottom:7px;}
.cmrc-landing-tool-intro h2 {color:inherit;font-size:clamp(25px,3.1vw,34px);letter-spacing:-.7px;line-height:1.2;margin:0 0 8px;}
.cmrc-landing-tool-intro p:last-child { color:#697b8a;font-size:14px;line-height:1.6;margin:0 0 13px;}
.cmrc-landing-top-link {font-size:12px;white-space:nowrap;color:#b3760c !important;font-weight:750;margin-bottom:15px;}
.cmrc-landing-tool .cmrc-calculator {width:100%;max-width:unset; margin:20px 0 0;}
.cmrc-landing-footer { padding:27px 30px;display:flex;justify-content:space-between;gap:22px;align-items:center;border-radius:17px;background:#14273c; }
.cmrc-landing-footer h2 {color:#fff;font-size:22px;margin:0 0 10px;}
.cmrc-landing-footer p {color:#c0cedc;font-size:13px;line-height:1.6;max-width:750px;margin:0;}
.cmrc-landing-footer .cmrc-landing-smallcaps {font-size:10px;margin-bottom:8px;}
.cmrc-landing-footer a {color:#ffce77;flex-shrink:0;font-size:12px;font-weight:750;}
@media(max-width:900px) { .cmrc-landing-hero { grid-template-columns:1fr; } .cmrc-landing-dial {max-width:430px;} .cmrc-landing-links {grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:580px) { .cmrc-landing {width:100%;} .cmrc-landing-hero {padding:23px 18px;border-radius:15px;} .cmrc-landing-hero h2 {letter-spacing:-1px;} .cmrc-landing-dial { padding:18px 15px; width:100%;} .cmrc-landing-index {padding:16px 13px;} .cmrc-landing-links {gap:7px;} .cmrc-landing-links a {font-size:11px;padding:9px 8px;gap:7px;min-height:56px;} .cmrc-landing-link-icon{width:25px;height:25px;} .cmrc-landing-index-count {display:none;} .cmrc-landing-tool-intro{align-items:flex-start;} .cmrc-landing-top-link{font-size:11px;margin-top:4px;} .cmrc-landing-tool-intro p:last-child{font-size:12px;} .cmrc-landing-tool{margin-bottom:39px;} .cmrc-landing-footer{display:block;padding:23px 19px;} .cmrc-landing-footer a {display:inline-block;margin-top:18px;} }
/* Explicit theme toggles, matching the calculator widgets. */
html[data-theme="dark"] .cmrc-landing-tool-intro, html.dark .cmrc-landing-tool-intro, body.dark-mode .cmrc-landing-tool-intro {border-color:#35485c;}
html[data-theme="dark"] .cmrc-landing-tool-intro p:last-child, html.dark .cmrc-landing-tool-intro p:last-child, body.dark-mode .cmrc-landing-tool-intro p:last-child{color:#b7c6d6;}
html[data-theme="light"] .cmrc-landing-tool-intro, html.light .cmrc-landing-tool-intro, body.light-mode .cmrc-landing-tool-intro {border-color:#d6e0e9;}
/* Readable section headings against light and dark CircusMobile page backgrounds. */
.cmrc-landing { color: #1a293a; }
@media (prefers-color-scheme: dark) {
  .cmrc-landing { color: #ebf3fc; }
  .cmrc-landing-tool-intro { border-color: #35485c; }
  .cmrc-landing-tool-intro p:last-child { color: #b7c6d6; }
}
html[data-theme="dark"] .cmrc-landing, html.dark .cmrc-landing, body.dark-mode .cmrc-landing { color: #ebf3fc; }
html[data-theme="light"] .cmrc-landing, html.light .cmrc-landing, body.light-mode .cmrc-landing { color: #1a293a; }
html[data-theme="light"] .cmrc-landing-tool-intro p:last-child, html.light .cmrc-landing-tool-intro p:last-child, body.light-mode .cmrc-landing-tool-intro p:last-child { color: #697b8a; }
/* v1.2.0: administrator-selected calculator card color scheme. */
html .cmrc-calculator.cmrc-theme-light.cmrc-theme-light {
  --cmrc-bg: #ffffff; --cmrc-text: #192639; --cmrc-muted: #596777;
  --cmrc-border: #dce4ec; --cmrc-panel: #f3f6fa; --cmrc-field: #ffffff;
  --cmrc-accent: #bd770c; --cmrc-accent-text: #654005;
  --cmrc-highlight: #fff3dc; --cmrc-focus: #0a72b2; --cmrc-alert: #c33333;
}
html .cmrc-calculator.cmrc-theme-dark.cmrc-theme-dark {
  --cmrc-bg: #131f2d; --cmrc-text: #ecf3f8; --cmrc-muted: #afc0d1;
  --cmrc-border: #304459; --cmrc-panel: #192b3d; --cmrc-field: #0e1a27;
  --cmrc-accent: #ffd17f; --cmrc-accent-text: #ffd17f;
  --cmrc-highlight: #23384a; --cmrc-focus: #8ccafa; --cmrc-alert: #ffa6a6;
}
.cmrc-disabled { padding: 14px 18px; border: 1px solid #c5d4e0; border-radius: 9px; background: #f5f8fb; color: #243a4b; }
/* Keep the hero balanced when the decorative dial is disabled. */
.cmrc-landing-hero.cmrc-no-dial { display: block; }
