/* ============================================================
   EIN TOOLS PUBLIC FOUNDATION V7
   Public design only
   ============================================================ */

body[data-ein-public="1"]{
  color-scheme:light !important;

  --bg:#f6faf7 !important;
  --bg0:#f6faf7 !important;
  --bg1:#eef6f0 !important;
  --background:#f6faf7 !important;

  --surface:#ffffff !important;
  --surface-2:#eef6f0 !important;

  --panel:#ffffff !important;
  --panel2:#eef6f0 !important;
  --panel-bg:#ffffff !important;

  --console:#ffffff !important;

  --dark:#eaf4ed !important;
  --black:#ffffff !important;

  --text:#23372c !important;
  --fg:#23372c !important;
  --ink:#23372c !important;

  --muted:#617367 !important;
  --sub:#617367 !important;

  --line:#d5e4d8 !important;
  --border:#d5e4d8 !important;

  --accent:#4f8f65 !important;
  --green:#2f7653 !important;
  --primary:#2f7653 !important;
  --cyan:#4f8f65 !important;

  --meter-bg:#eef6f0 !important;
  --meter-panel:#ffffff !important;

  margin:0 !important;

  background:#f6faf7 !important;
  background-color:#f6faf7 !important;
  background-image:none !important;

  color:#23372c !important;

  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic",
    Meiryo,
    sans-serif !important;

  font-size:17px !important;
  line-height:1.7 !important;
}


/* ---------- ZERO LAB CANVAS ---------- */

body[data-ein-public="1"]::before,
body[data-ein-public="1"]::after{
  background:none !important;
  background-image:none !important;
}

body[data-ein-public="1"]
:where(
  main,
  .page,
  .wrap,
  .container,
  .shell,
  .frame,
  .stage,
  .workspace,
  .workbench,
  .app,
  .app-shell,
  .site-shell,
  .tool-shell,
  .diagnostic-shell,
  .utility-shell
){
  background:#f6faf7 !important;
  background-color:#f6faf7 !important;
  background-image:none !important;

  color:#23372c !important;

  border-color:transparent !important;
  box-shadow:none !important;
}


/* side rails / grids / old laboratory backgrounds */

body[data-ein-public="1"]
:where(
  [class*="rail"],
  [class*="side"],
  [class*="grid-overlay"],
  [class*="scanline"],
  [class*="hazard"],
  [class*="stripe"]
){
  background:#eef6f0 !important;
  background-color:#eef6f0 !important;
  background-image:none !important;

  border-color:#d5e4d8 !important;
  box-shadow:none !important;
}


/* ---------- PUBLIC CARDS ---------- */

body[data-ein-public="1"]
:where(
  section,
  article,
  .hero,
  .panel,
  .console,
  .card,
  .module,
  .tile,
  .box,
  .result-summary,
  .diagnostic-panel,
  .notice-card,
  .explain-card,
  .utility-fields,
  [class*="-card"],
  [class*="-panel"],
  [class*="-module"],
  [class*="-tile"]
){
  background:#ffffff !important;
  background-color:#ffffff !important;
  background-image:none !important;

  color:#23372c !important;

  border-color:#d5e4d8 !important;
  border-radius:18px !important;

  box-shadow:
    none;
}


/* hero */

body[data-ein-public="1"] .hero{
  background:#e6f2e8 !important;

  border:1px solid #c7ddcc !important;
  border-left:6px solid #5b966c !important;

  border-radius:20px !important;

  padding:30px 34px !important;
}


/* softer nested blocks */

body[data-ein-public="1"]
:where(
  .metric,
  .metrics > *,
  .diagnostic-item,
  .summary-item,
  .result-card,
  [class*="metric"],
  [class*="cell"],
  [class*="result-box"]
){
  background:#f7fbf8 !important;
  background-color:#f7fbf8 !important;
  background-image:none !important;

  color:#294936 !important;

  border-color:#dbe8de !important;
  border-radius:13px !important;

  box-shadow:none !important;
}


/* ---------- REMOVE LAB STRIPS ---------- */

body[data-ein-public="1"]
:where(
  [class*="chassis"],
  [class*="hazard"],
  [class*="strip"],
  [class*="status-bar"],
  [class*="control-bar"],
  [class*="network-bar"],
  [class*="footer-bar"]
){
  background:#e5f1e8 !important;
  background-color:#e5f1e8 !important;
  background-image:none !important;

  color:#355c43 !important;

  border-color:#c6ddcb !important;
  border-radius:10px !important;

  box-shadow:none !important;
}


/* Hide engineering-only blocks when they have explicit classes */

body[data-ein-public="1"]
:where(
  [class*="prototype"],
  [class*="chassis-label"],
  [class*="lab-note"],
  [class*="unit-tag"],
  [class*="rev-tag"],
  [class*="core-tag"]
){
  display:none !important;
}


/* ---------- INLINE DARK BACKGROUNDS ---------- */

body[data-ein-public="1"]
[style*="background:#0" i],

body[data-ein-public="1"]
[style*="background: #0" i],

body[data-ein-public="1"]
[style*="background:#1" i],

body[data-ein-public="1"]
[style*="background: #1" i],

body[data-ein-public="1"]
[style*="background-color:#0" i],

body[data-ein-public="1"]
[style*="background-color: #0" i],

body[data-ein-public="1"]
[style*="background-color:#1" i],

body[data-ein-public="1"]
[style*="background-color: #1" i]{
  background:#f1f7f2 !important;
  background-color:#f1f7f2 !important;
  background-image:none !important;

  color:#23372c !important;
}


/* ---------- TYPOGRAPHY ---------- */

body[data-ein-public="1"] h1{
  color:#245d38 !important;

  font-family:inherit !important;

  font-size:clamp(34px,3.6vw,46px) !important;
  line-height:1.18 !important;

  letter-spacing:.01em !important;
  text-shadow:none !important;
}

body[data-ein-public="1"] h2{
  color:#285f3c !important;

  font-family:inherit !important;

  font-size:28px !important;
  line-height:1.35 !important;

  text-shadow:none !important;
}

body[data-ein-public="1"] h3{
  color:#306b45 !important;

  font-family:inherit !important;

  font-size:21px !important;
  line-height:1.4 !important;

  text-shadow:none !important;
}

body[data-ein-public="1"]
:where(p,li,td,th){
  color:#344c3b !important;

  font-family:inherit !important;

  font-size:17px !important;
  line-height:1.75 !important;

  text-shadow:none !important;
}

body[data-ein-public="1"]
:where(
  small,
  label,
  .note,
  .hint,
  .caption,
  .legend,
  [class*="label"],
  [class*="legend"],
  [class*="caption"],
  [class*="hint"]
){
  color:#607468 !important;

  font-family:inherit !important;

  font-size:14px !important;
  line-height:1.55 !important;

  letter-spacing:.01em !important;
  text-shadow:none !important;
}


/* No 7–9px reader text */

body[data-ein-public="1"]
:where(
  [class*="event"],
  [class*="legend"],
  [class*="phase"],
  [class*="step"],
  [class*="state"],
  [class*="status"]
){
  font-size:14px !important;
  line-height:1.5 !important;
}


/* ---------- INPUTS ---------- */

body[data-ein-public="1"]
:where(input,textarea,select){
  min-height:52px !important;

  background:#ffffff !important;
  background-image:none !important;

  color:#23372c !important;

  font-family:inherit !important;
  font-size:16px !important;

  border:1px solid #bcd3c2 !important;
  border-radius:12px !important;

  box-shadow:none !important;
}

body[data-ein-public="1"]
:where(input,textarea,select):focus{
  border-color:#4f8b63 !important;

  outline:
    3px solid rgba(79,139,99,.14) !important;
}


/* ---------- BUTTONS ---------- */

body[data-ein-public="1"]
:where(
  button,
  input[type="button"],
  input[type="submit"],
  .button,
  .btn,
  [class*="button"],
  [class*="-btn"]
){
  min-height:50px !important;

  background:#357c51 !important;
  background-color:#357c51 !important;
  background-image:none !important;

  color:#31543e !important;

  font-family:inherit !important;
  font-size:16px !important;
  font-weight:700 !important;

  border:1px solid #357c51 !important;
  border-radius:12px !important;

  box-shadow:none !important;
}

body[data-ein-public="1"]
:where(
  button,
  .button,
  .btn,
  [class*="button"],
  [class*="-btn"]
):hover{
  background:#ffffff !important;
}


/* ---------- METERS ---------- */

body[data-ein-public="1"]
:where(
  [class*="meter"],
  [class*="gauge"],
  [class*="dial"],
  [class*="radar"]
){
  --bg:#eef6f0 !important;
  --panel:#ffffff !important;
  --line:#c9ddce !important;
  --accent:#4f8f65 !important;
  --cyan:#4f8f65 !important;

  background:#eef6f0 !important;
  background-color:#eef6f0 !important;
  background-image:none !important;

  color:#315d42 !important;

  border-color:#c9ddce !important;
  border-radius:16px !important;

  box-shadow:none !important;
}

body[data-ein-public="1"]
:where(
  [class*="meter"],
  [class*="gauge"],
  [class*="dial"],
  [class*="radar"]
)::before,

body[data-ein-public="1"]
:where(
  [class*="meter"],
  [class*="gauge"],
  [class*="dial"],
  [class*="radar"]
)::after{
  background:#e8f3ea !important;
  background-color:#e8f3ea !important;
  background-image:none !important;

  border-color:#83aa8e !important;

  box-shadow:none !important;
}


/* SVG dark instrument surfaces */

body[data-ein-public="1"] svg{
  background:transparent !important;
}

body[data-ein-public="1"]
svg :where(circle,rect)[fill^="#0" i],

body[data-ein-public="1"]
svg :where(circle,rect)[fill^="#1" i],

body[data-ein-public="1"]
svg :where(circle,rect)[fill="black" i]{
  fill:#edf6ef !important;
}

body[data-ein-public="1"]
svg :where(path,line,polyline)[stroke^="#0" i],

body[data-ein-public="1"]
svg :where(path,line,polyline)[stroke^="#1" i],

body[data-ein-public="1"]
svg :where(path,line,polyline)[stroke="black" i]{
  stroke:#4f8e63 !important;
}

body[data-ein-public="1"] svg text{
  fill:#ffffff !important;
}


/* Canvas gets a public surround without altering calculations */

body[data-ein-public="1"] canvas{
  background:#edf6ef !important;

  border:1px solid #d1e3d5 !important;
  border-radius:16px !important;

  box-shadow:none !important;
}


/* ---------- RESULTS ---------- */

body[data-ein-public="1"]
:where(
  .primary,
  .primary-result,
  [class*="primary-result"]
){
  background:#edf6ef !important;

  color:#285f3c !important;

  border-color:#c9dfce !important;
  border-radius:16px !important;
}

body[data-ein-public="1"]
:where(
  .primary-value,
  [class*="primary-value"],
  [class*="result-value"]
){
  color:#2f7653 !important;

  font-size:36px !important;
  font-weight:700 !important;

  text-shadow:none !important;
}


/* ---------- TABLE ---------- */

body[data-ein-public="1"]
:where(table,th,td){
  background:#ffffff !important;

  color:#314b39 !important;

  border-color:#d5e4d8 !important;
}

body[data-ein-public="1"] th{
  background:#eaf4ed !important;
}


/* ---------- SEMANTIC COLORS ---------- */

body[data-ein-public="1"]
:where(.ready,.online,.ok,.pass,.success){
  color:#2f7653 !important;
}

body[data-ein-public="1"]
:where(.warning,.warn){
  color:#8b6b26 !important;
}

body[data-ein-public="1"]
:where(.error,.fail,.danger,.alert){
  color:#a04449 !important;
}


/* ---------- FOOTER ---------- */

body[data-ein-public="1"] footer{
  background:#e5f1e8 !important;
  background-color:#e5f1e8 !important;
  background-image:none !important;

  color:#607468 !important;

  border-color:#cadfce !important;
  border-radius:14px 14px 0 0 !important;

  box-shadow:none !important;
}


/* ---------- MOBILE ---------- */

@media(max-width:700px){

  body[data-ein-public="1"]{
    font-size:16px !important;
  }

  body[data-ein-public="1"] main{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body[data-ein-public="1"] h1{
    font-size:32px !important;
  }

  body[data-ein-public="1"] h2{
    font-size:24px !important;
  }

  body[data-ein-public="1"]
  :where(p,li,td,th){
    font-size:16px !important;
  }

  body[data-ein-public="1"] .hero{
    padding:22px 20px !important;
    border-radius:15px !important;
  }
}
