/* NeuroResin global foundation
   Single source of truth for shared tokens, legacy variable aliases,
   document pages, subpage shell and migration-ready layout primitives. */


/* === NR APP CORE CSS: START === */
/* Merged from assets/app.styles.css on 2026-04-08.
   Runtime source of truth is now assets/site.css. */

/* Legacy app core merged into site.css. Active runtime source: this file. */

/* ===========================
   Layout safety (mobile)
   - prevent horizontal overflow from sliders / long rows
   =========================== */
*, *::before, *::after{ box-sizing: border-box; }
html, body{ max-width: 100%; overflow-x: hidden; }
input[type="range"]{ width: 100%; max-width: 100%; display: block; }
    /* ===========================
       NeuroResin Studio — Asystent odlewów wspierany przez AI – clean base
       (no legacy layers)
       =========================== */
    :root{
      /* Color tokens: see colors.css (canonical source) */
      /* === Radius system === */
      --radius-sm: 10px;
      --radius-md: 14px;
      --radius-lg: 22px;
      --radius-xl: 28px;
      /* === Fluid type scale === */
      --fs-micro: 9px;      /* micro badges, axis labels */
      --fs-mini:  11px;     /* small hints, kickers */
      --fs-xs:   clamp(0.7rem,  1.2vw, 0.75rem);
      --fs-sm:   clamp(0.8rem,  1.4vw, 0.875rem);
      --fs-base: clamp(0.9rem,  1.6vw, 1rem);
      --fs-lg:   clamp(1rem,    2vw,   1.2rem);
      --fs-xl:   clamp(1.2rem,  3vw,   1.6rem);
      --fs-2xl:  clamp(1.5rem,  4vw,   2.2rem);
      --fs-hero: clamp(2rem,    6vw,   4rem);
      /* === Spacing tokens === */
      --space-1:  4px;
      --space-2:  8px;
      --space-3:  12px;
      --space-4:  16px;
      --space-6:  24px;
      --space-8:  32px;
      --space-12: 48px;
      --space-16: 64px;
      /* One horizontal rhythm for page bento and the shared footer. */
      --nr-shell-gutter: clamp(20px, 3vw, 56px);
      --nr-shell-panel-max: calc(var(--nr-shell-max, 1520px) - (2 * var(--nr-shell-gutter)));
      /* === Z-index layer system === */
      --nr-z-header: 100;
      --nr-z-dock: 140;
      --nr-z-dock-active: 160;
      --nr-z-inline-overlay: 180;
      --nr-z-dropdown: 500;
      --nr-z-toast: 1200;
      --nr-z-status: 1400;
      --nr-z-immersive: 2000;
      --nr-z-nav: 8000;
      --nr-z-nav-close: 8002;
      --nr-z-modal: 9000;
      --nr-z-modal-raised: 9300;
      --nr-z-modal-top: 9600;
      --nr-z-diag: 9700;        /* diag modal */
      --nr-z-loader: 9800;      /* initial loader */
      --nr-z-cookie: 9999;      /* cookie consent — last to dismiss */
      --nr-z-max: 9999;         /* nr-z-max utility alias */
      /* Paper text — warm cream na dark theme (coach, home-proof, advisor, food-contact) */
      --nr-text-paper: #f6f1eb;
    }

    html{ font-size: 15px; }
    @media (min-width: 1280px){ html{ font-size: 15.5px; } }

    /* Desktop scale-down through typography (without shrinking below readability). */
    @media (min-width: 1025px){
      html{ font-size: 13.2px; }
    }
    @media (min-width: 1440px){
      html{ font-size: 13.6px; }
    }
    @media (min-width: 1920px){
      html{ font-size: 14px; }
    }

    /* Readability floor on desktop: text should not render below 9px. */
    @media (min-width: 1025px){
      #root :is(.nr-text-xs, .nr-text-2xs){
        font-size: max(9px, 0.68rem);
      }
      #root .nr-text-3xs{
        font-size: 9px;
      }
    }

    body{
      margin:0;
      font-family: Sora, Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      background:
        radial-gradient(1200px 700px at 18% 8%, var(--nr-surface-accent-cta), transparent 55%),
        linear-gradient(180deg, var(--nr-bg), var(--nr-bg-deep));
      background-attachment: fixed;
      color: var(--nr-text);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-rendering: geometricPrecision;
    }

    /* Better defaults for long text blocks inside cards */
    p, li { line-height: 1.55; }
    .text-muted{ color: var(--nr-muted); }
    .nr-glass{
      background: linear-gradient(180deg, var(--nr-panel), var(--nr-panel2));
      border: 1px solid var(--nr-line2);
      box-shadow: 0 10px 40px rgba(0,0,0,.25);
      backdrop-filter: blur(14px) saturate(120%);
      -webkit-backdrop-filter: blur(14px) saturate(120%);
    }

    /* Hero visible immediately (avoid delayed empty/black stage) */
    #hero-main-header,
    #hero-nav-overlay,
    #hero-top{
      visibility: visible;
    }

    /* Range inputs look consistent with the local slider accent classes */
    input[type="range"]{ height: 6px; border-radius: 999px; }
    input[type="range"]::-webkit-slider-thumb{ -webkit-appearance:none; width: 18px; height: 18px; border-radius: 999px; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.4); cursor: pointer; }
    input[type="range"]::-moz-range-thumb{ width: 18px; height: 18px; border-radius: 999px; border:0; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.4); cursor: pointer; }

    /* Scrollbar – subtle */
    *::-webkit-scrollbar{ width: 10px; height:10px; }
    *::-webkit-scrollbar-thumb{ background: var(--nr-border-emphasis); border-radius: 999px; }

/* ===========================
   Bento + Glass layer
   =========================== */

/* Softer bento spacing */

/* Rounded buttons & inputs — see unified rule below */

/* ===========================
   Entrance animation for bento children
   =========================== */
@keyframes nr-slide-up {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Focus ring — unified terracotta outline */
*:focus-visible {
  outline: 2px solid var(--nr-border-accent-strong);
  outline-offset: 2px;
  border-radius: inherit;
}

/* ===========================
   Toolbar anchored to canvas frame
   =========================== */
.nr-canvaswrap{ position: relative; overflow: hidden; isolation: isolate; }
.nr-canvaswrap.has-image{ overflow: visible; }
#nr-bento.is-canvas-mobile{
  position: fixed;
  left: 6px;
  right: 6px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
  z-index: var(--nr-z-dock);
  width: calc(100vw - 12px);
  max-width: calc(100vw - 12px);
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
#nr-bento.is-mobile-dock.is-main-locked{
  position: fixed;
  left: 6px;
  right: 6px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
  z-index: var(--nr-z-dock);
  padding: 0;
  width: calc(100vw - 12px);
  max-width: calc(100vw - 12px);
  margin: 0;
  box-sizing: border-box;
}

/* Dynamic menu (tools) should replace main toolbar IN THE SAME SPOT */
.nr-dynbento.is-mobile-dock{
  position: fixed;
  left: 6px;
  right: 6px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
  z-index: var(--nr-z-dock-active);
  width: calc(100vw - 12px);
  max-width: calc(100vw - 12px);
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}
.nr-dynbento.is-mobile-dock > .nr-dyn-shell{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Desktop: center menu bars to viewport (stable position) */
@media (min-width: 1025px){
  #nr-bento.is-canvas-dock,
  .nr-dynbento.is-canvas-dock{
    position: fixed;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    width: min(980px, calc(100vw - 36px));
    padding: 0;
  }
  #nr-bento.is-canvas-dock > div,
  .nr-dynbento.is-canvas-dock > div{
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
}
/* Tablet / mid-width: canvas-dock must also stay fixed above cards */
@media (max-width: 1024px){
  #nr-bento.is-canvas-dock,
  .nr-dynbento.is-canvas-dock{
    position: fixed;
    left: 6px;
    right: 6px;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 14px);
    width: calc(100vw - 12px);
    max-width: calc(100vw - 12px);
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    transform: none;
  }
  #nr-bento.is-canvas-dock{ z-index: var(--nr-z-dock); }
  .nr-dynbento.is-canvas-dock{ z-index: var(--nr-z-dock-active); }
  #nr-bento.is-canvas-dock > div,
  .nr-dynbento.is-canvas-dock > div{
    width: 100%;
    max-width: 100%;
  }
}

/* ===========================
   Apple-like Glass (Direction 3)
   - frosted panels, soft highlights, subtle depth
   =========================== */

/* Subtle noise for depth (no images) */
body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .14;
  mix-blend-mode: overlay;
  background-image:
    repeating-linear-gradient(0deg, var(--nr-border-faint) 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, rgba(0,0,0,.04) 0 1px, transparent 1px 3px);
}

/* Glass card — the main bento panel style */
.nr-card,
.nr-glass-card{
  background: var(--nr-surface);
  border: 1px solid var(--nr-border);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
}

/* Bento corners: consistent but not exaggerated */
main > div, section, article, aside, .nr-canvaswrap{
  border-radius: var(--radius-lg);
}

/* Inputs and small chips: tighter + consistent */
button, input, select, textarea{
  border-radius: var(--radius-sm);
}
input, select, textarea{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
}

/* Softer borders site-wide */

/* Reduce harsh uppercase tracking where it hurts readability */

/* monochrome — warm/cool bars use same grey gradient, only peak stays accent */
.nr-temp-bar.is-warm{
  background: linear-gradient(180deg, var(--nr-border-emphasis-strong), var(--nr-surface-chip));
  border-color: var(--nr-border-emphasis);
  box-shadow: inset 0 1px 0 var(--nr-border-emphasis-strong);
}
.nr-temp-bar.is-cool{
  background: linear-gradient(180deg, var(--nr-border-emphasis), var(--nr-surface-soft-strong));
  border-color: var(--nr-border-strong-ui);
  box-shadow: inset 0 1px 0 var(--nr-border-emphasis);
}
.nr-legend .nr-dot.warm{ background: var(--nr-border-emphasis-strong); border-color: var(--nr-border-emphasis); }
.nr-legend .nr-dot.cool{ background: var(--nr-border-emphasis); border-color: var(--nr-border-emphasis); }
.nr-temp-bar.nr-cure-bar.is-pot{
  background: linear-gradient(180deg, rgba(45,212,191,.74), rgba(20,184,166,.30));
  border-color: rgba(13,148,136,.58);
  box-shadow: 0 0 18px rgba(45,212,191,.16), inset 0 1px 0 rgba(204,251,241,.52);
}
.nr-temp-bar.nr-cure-bar.is-gel{
  background: linear-gradient(180deg, rgba(56,189,248,.80), rgba(37,99,235,.32));
  border-color: rgba(14,165,233,.62);
  box-shadow: 0 0 20px rgba(56,189,248,.16), inset 0 1px 0 rgba(224,242,254,.52);
}
.nr-legend .nr-dot.cure-pot{
  background: rgb(45,212,191);
  border-color: rgba(13,148,136,.72);
  box-shadow: 0 0 14px rgba(45,212,191,.24);
}
.nr-legend .nr-dot.cure-gel{
  background: rgb(56,189,248);
  border-color: rgba(14,165,233,.72);
  box-shadow: 0 0 14px rgba(56,189,248,.24);
}

/* ===========================
   Top-tier UI layer
   =========================== */

/* ===========================
   Risk levels (STONE)
   =========================== */
/* Risk color tokens: defined in colors.css (--nr-info, --nr-warning, --nr-danger) */
.nr-riskTitle{
  font-size: var(--fs-base);
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-style: italic;
}
.nr-riskTitle--info{ color: var(--nr-info); }
.nr-riskTitle--warn{ color: var(--nr-warning); }
.nr-riskTitle--crit{ color: var(--nr-danger); }

.nr-riskMicro{
  margin-top: 6px;
  font-size: var(--fs-base);
  font-weight: 800;
  line-height: 1.35;
  color: var(--nr-text-soft-alpha);
}

.nr-alertPulse{
  box-shadow: var(--nr-shadow-alert);
}
.nr-alertPulse.is-hot{
  box-shadow: var(--nr-shadow-alert-hot);
}

/* Missing data warning inside mass panel */
.nr-mass-missing-pulse{
  position: relative;
  isolation: isolate;
  border-color: var(--nr-border-accent-strong);
  box-shadow: 0 0 0 1px var(--nr-border-accent-ui), var(--nr-shadow-accent-cta), inset 0 1px 0 var(--nr-border-faint);
}
.nr-mass-missing-box{
  min-height: 48px;
  border-radius: 14px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  line-height: 1.25;
}
.nr-mass-missing-pulse::before,
.nr-mass-missing-pulse::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: inherit;
  pointer-events:none;
  padding:2px;
  background: conic-gradient(
    from var(--nr-mass-ring-angle),
    rgba(251,113,133,0) 0deg,
    rgba(251,113,133,0) 284deg,
    rgba(251,113,133,.95) 324deg,
    rgba(254,202,202,.92) 344deg,
    rgba(251,113,133,0) 1turn
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.nr-mass-missing-pulse::before{
  animation: nrMassRingSpin 2.8s linear infinite;
}
.nr-mass-missing-pulse::after{
  filter: blur(7px);
  animation: nrMassRingSpin 2.8s linear infinite, nrMassRingPulse 1.9s ease-in-out infinite;
}
@property --nr-mass-ring-angle{
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
@keyframes nrMassRingSpin{
  to{ --nr-mass-ring-angle: 1turn; }
}
@keyframes nrMassRingPulse{
  0%,100%{ opacity:.30; }
  50%{ opacity:.82; }
}

/* Chart ↔ alert link */
.nr-temp-bar.nr-peak-focus{
  transform: translateY(-2px);
  box-shadow: 0 0 0 2px rgba(var(--nr-crit), .22), 0 0 28px rgba(var(--nr-crit), .20), inset 0 1px 0 rgba(255,255,255,.22);
}
.nr-temp-bar.nr-peak-focus::after{ opacity:1; transform: translateX(-50%) translateY(0); }
/* Segmented active state */

/* Charts */
.nr-chart{ position:relative; }
.nr-bars{ display:flex; align-items:flex-end; gap:4px; }
.nr-temp-bar{
  position: relative;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, var(--nr-border-emphasis-strong), var(--nr-surface-chip));
  border: 1px solid var(--nr-border-strong-ui);
  box-shadow: inset 0 1px 0 var(--nr-border-emphasis);
}
.nr-temp-bar.is-peak{
  --nr-temp-peak: rgb(239,68,68);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--nr-temp-peak) calc(var(--nr-peak-top-alpha, .95) * 100%), transparent),
    color-mix(in srgb, var(--nr-temp-peak) calc(var(--nr-peak-bottom-alpha, .64) * 100%), transparent)
  );
  border-color: color-mix(in srgb, var(--nr-temp-peak) calc(var(--nr-peak-border-alpha, .72) * 100%), transparent);
  box-shadow: 0 0 30px color-mix(in srgb, var(--nr-temp-peak) calc(var(--nr-peak-glow-alpha, .34) * 100%), transparent), inset 0 1px 0 rgba(254,226,226,.72);
}
.nr-temp-bar[data-tip]::after{
  content: attr(data-tip);
  position:absolute;
  left:50%;
  bottom: calc(100% + 8px);
  transform: translateX(-50%) translateY(6px);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
  padding:6px 10px;
  border-radius:999px;
  font-size: var(--fs-sm);
  font-weight:800;
  color: var(--nr-text);
  background: var(--nr-surface-overlay);
  border:1px solid var(--nr-border-emphasis);
  box-shadow: var(--nr-shadow-panel);
  transition: opacity .16s ease, transform .16s ease;
}
.nr-temp-bar:hover::after{ opacity:1; transform: translateX(-50%) translateY(0); }

.nr-legend{
  display:flex; gap:10px; align-items:center;
  font-size: var(--fs-sm); margin-top:10px; color: var(--nr-muted);
}
.nr-legend .nr-dot{
  width:10px; height:10px; border-radius:999px;
  border:1px solid var(--nr-border-emphasis);
  background: var(--nr-border-strong-ui);
}
.nr-legend .nr-dot.peak{
  background: var(--nr-danger);
  border-color: var(--nr-danger-brd);
  box-shadow: 0 0 18px var(--nr-danger-soft);
}

/* ===========================
   Mask preview: clearer, more "mask-like"
   =========================== */

/* Checkerboard pattern disabled */

/* Mask overlay: nieprzezroczysta, widoczna maska */
.nr-maskvis{
  mix-blend-mode: normal;
  filter: saturate(1.3) contrast(1.2);
}

/* Light mode też normal */

/* Exclusion overlay: better separation */
.nr-excludevis{
  mix-blend-mode: screen;
  filter: saturate(1.2) contrast(1.1) drop-shadow(0 0 10px var(--nr-danger-soft));
}

/* ===========================
   Scroll hint: "gradient break" at the bottom (suggest more content)
   =========================== */
.nr-scrollfade{
  position: relative;
}
.nr-scrollfade::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 46px;
  pointer-events:none;
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  /* a "broken" / stepped gradient + soft highlight line */
  background:
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.00) 18%,
      rgba(0,0,0,0.10) 38%,
      rgba(0,0,0,0.42) 68%,
      rgba(0,0,0,0.78) 100%
    );
  box-shadow: inset 0 1px 0 var(--nr-border-faint);
}

/* ===========================
   Scroll fade: apply to the scroll area, not tiles
   - Main page scroll hint (nr-scroll-root)
   - Small list: wrapper + inner scroller to avoid "moving" artifacts
   =========================== */

/* Main page scroll hint */
#nr-scroll-root{
  position: relative;
  width: 100%;
  max-width: var(--nr-shell-max, 1520px);
  margin-left: auto;
  margin-right: auto;
}

/* Unified page width on large screens, full width on mobile */
.nr-page-shell{
  width: 100%;
  max-width: var(--nr-shell-max, 1520px);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  /* Boczny padding na desktop/laptop — content nie dotyka krawędzi viewportu */
  padding-left: var(--nr-shell-gutter, clamp(20px, 3vw, 56px));
  padding-right: var(--nr-shell-gutter, clamp(20px, 3vw, 56px));
  /* Ensure grid is never overridden */
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}
.nr-sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
@media (max-width: 768px){
  .nr-page-shell{
    width: 100%;
    max-width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
}
@media (max-width: 620px){
  :root{
    --nr-shell-gutter: 12px;
  }
}

/* Large desktop scaling policy: slight growth, never full-bleed */
@media (min-width: 1440px){
  :root{
    --nr-shell-max: 1600px;
  }
}
@media (min-width: 1920px){
  :root{
    --nr-shell-max: 1700px;
  }
}
@media (min-width: 2560px){
  :root{
    --nr-shell-max: 1860px;
  }
}

#nr-scroll-root::after{
  display: none;
}

/* Small list wrapper: fade overlay does NOT scroll with items */
.nr-scrollfade-box{
  position: relative;
  border-radius: inherit;
  overflow: hidden; /* clip fade to box */
}
.nr-scrollfade-box::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height: 42px;
  pointer-events:none;
  background:
    linear-gradient(to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.10) 40%,
      rgba(0,0,0,0.55) 100%
    );
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

/* ===========================
   Layer assistant: compact drawer header
   =========================== */
.nr-layersummary{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 16px;
}
@media (min-width: 768px){ .nr-layersummary{ padding: 18px 18px; } }
.nr-layersummary-left{ display:flex; align-items:center; gap: 12px; min-width:0; }
.nr-layerbadge{
  width: 44px; height: 44px;
  border-radius: 16px;
  display:flex; align-items:center; justify-content:center;
  background: var(--nr-surface-info-ui);
  border: 1px solid var(--nr-info-brd);
  box-shadow: inset 0 1px 0 var(--nr-border-emphasis);
}
.nr-layer-title{
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: var(--fs-sm);
  color: var(--nr-text);
}
.nr-layer-sub{
  margin-top: 2px;
  font-size: var(--fs-sm);
  color: var(--nr-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 42vw;
}
.nr-layerstats{ display:flex; align-items:center; gap: 10px; }
.nr-stat{
  min-width: 74px;
  border-radius: var(--radius-md);
  padding: 10px 12px;
  background: var(--nr-surface-chip);
  border: 1px solid var(--nr-border-strong-ui);
  box-shadow: inset 0 1px 0 var(--nr-border-strong-ui);
  text-align: center;
}
.nr-stat-k{ font-size: var(--fs-xs); font-weight: 900; letter-spacing: .18em; text-transform: uppercase; opacity: .75; }
.nr-stat-v{ margin-top: 2px; font-size: var(--fs-lg); font-weight: 950; letter-spacing: -0.02em; }

.nr-pillbtn{
  border-radius: var(--radius-md);
  padding: 10px 14px;
  font-size: var(--fs-sm);
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  background: var(--nr-border-emphasis);
  border: 1px solid var(--nr-border-emphasis);
  box-shadow: inset 0 1px 0 var(--nr-border-emphasis-strong);
  color: var(--nr-text);
}
.nr-pillbtn{ transition: transform .2s ease, background .2s ease; }
.nr-pillbtn:hover{ background: var(--nr-border-emphasis-strong); transform: translateY(-2px); }
.nr-pillbtn:active{ transform: translateY(-1px) scale(.99); }

/* ===========================
   Ratio indicator: calmer + no NaN
   =========================== */
.nr-ratio{
  background: linear-gradient(180deg, var(--nr-surface-chip), var(--nr-surface-faint));
  box-shadow: inset 0 1px 0 var(--nr-border-strong-ui);
}
.nr-ratioLabel{
  font-weight: 900;
  letter-spacing: .06em;
  font-size: var(--fs-mini);
  color: var(--nr-text);
  text-shadow: 0 2px 10px rgba(0,0,0,.45);
}

/* ===========================
   Timeline on mobile: stop overlap (CSS-only)
   =========================== */

/* ===========================
   Layer assistant header: mobile responsiveness (if present)
   =========================== */
@media (max-width: 720px){
  .nr-layersummary{ flex-wrap: wrap; gap: 10px; }
  .nr-layerstats{
    width: 100%;
    justify-content: space-between;
    gap: 8px;
  }
  .nr-stat{ min-width: 0; flex: 1 1 0; padding: 8px 10px; border-radius: var(--radius-md); }
  .nr-stat-v{ font-size: 14px; }
  .nr-pillbtn{ width: 100%; justify-content: center; }
}

/* ===========================
   Segmented toggle
   =========================== */
.nr-layerToggle{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px;
  border-radius: var(--radius-md);
  background: var(--nr-surface-soft-strong);
  border: 1px solid var(--nr-border-strong-ui);
  box-shadow: inset 0 1px 0 var(--nr-border-faint);
}

.nr-layerToggle .nr-seg-btn{
  height: 40px;
  border-radius: var(--radius-sm);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--nr-border-emphasis);
  color: var(--nr-control-text-dim);
  transition: transform .12s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.nr-layerToggle .nr-seg-btn:hover{
  color: var(--nr-text);
  background: var(--nr-surface-chip);
}
.nr-layerToggle .nr-seg-btn:active{ transform: scale(.98); }

.nr-layerToggle .nr-seg-btn.is-active{
  background: linear-gradient(180deg, var(--nr-border-emphasis-strong), var(--nr-border-emphasis));
  color: var(--nr-text);
  border-color: var(--nr-border-emphasis-strong);
  box-shadow: var(--nr-shadow-utility-lg), inset 0 1px 0 var(--nr-text-soft-alpha);
}

/* Microcopy under toggle */
.nr-layerHint{
  margin-top: 8px;
  font-size: var(--fs-mini);
  line-height: 1.25;
  color: var(--nr-muted);
  display: flex;
  align-items: center;
  gap: 8px;
}
.nr-layerHint .nr-dot{
  width: 8px; height: 8px;
  border-radius: 999px;
  background: var(--nr-border-emphasis-strong);
  border: 1px solid var(--nr-border-emphasis);
  box-shadow: 0 0 14px var(--nr-surface-chip);
}

@media (max-width: 720px){
  .nr-layerToggle{ gap: 8px; padding: 8px; border-radius: 16px; }
  .nr-layerToggle .nr-seg-btn{ height: 38px; font-size: 11px; border-radius: 14px; }
}

/* ===========================
   POPUP MODAL (Pomoc / Help) – NEW
   =========================== */
.nr-modal-overlay{
  position: fixed;
  inset: 0;
  z-index: var(--nr-z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: radial-gradient(1200px 800px at 50% 20%, var(--nr-surface-chip-strong), var(--nr-surface-mask));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.nr-modal-panel{
  width: min(920px, 100%);
  max-height: min(82vh, 780px);
  overflow: hidden;
  border-radius: var(--radius-xl);
  border: 1px solid var(--nr-border-emphasis);
  background: var(--nr-surface-overlay);
  box-shadow: var(--nr-shadow-panel-lg), inset 0 1px 0 var(--nr-border-strong-ui);
  position: relative;
}
.nr-modal-body{
  position: relative;
  z-index: 2;
  padding: 14px 16px 16px;
  overflow: auto;
  max-height: calc(min(82vh, 780px) - 58px);
}
.nr-help5{
  background:var(--nr-surface-overlay-strong);
  border-color:var(--nr-border-strong-ui);
  width:min(520px,100%);
  max-height:85vh;
}
.nr-help5-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px 10px;
  border-bottom:1px solid var(--nr-border-accent-soft);
}
.nr-help5-title{
  font-family:"Bebas Neue",sans-serif;
  font-size:22px;
  letter-spacing:.08em;
  color:var(--nr-text);
}
.nr-help5-sub{
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--nr-muted);
}
.nr-help5-close{
  height:32px;
  min-width:32px;
  border-radius:8px;
  border:1px solid var(--nr-danger-brd);
  background:var(--nr-danger-soft);
  color:var(--nr-danger);
  font-family:"Bebas Neue",sans-serif;
  font-size:22px;
  line-height:1;
}
.nr-help5-body{ padding:16px 20px 20px; }
.nr-help5-section-title{
  font-family:"Bebas Neue",sans-serif;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--nr-accent);
  padding-bottom:6px;
  border-bottom:1px solid var(--nr-border-accent-soft);
  margin:0 0 12px;
}
.nr-help5-step{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:12px;
}
.nr-help5-num{
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--nr-surface-accent-cta);
  border:1px solid var(--nr-border-accent-ui);
  color:var(--nr-accent);
  font-family:"Bebas Neue",sans-serif;
  font-size:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.nr-help5-name{
  font-family:"Bebas Neue",sans-serif;
  font-size:13px;
  letter-spacing:.08em;
  color:var(--nr-text);
  line-height:1;
}
.nr-help5-desc{
  font-family:"IBM Plex Mono",monospace;
  font-size:10.5px;
  color:var(--nr-text-soft-alpha);
  line-height:1.65;
  margin-top:4px;
}
.nr-help5-tools{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:6px;
}
.nr-help5-tool{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:8px 10px;
  background:var(--nr-surface-soft);
  border:1px solid var(--nr-border-faint);
  border-radius:8px;
}
.nr-help5-tool b{
  font-family:"Bebas Neue",sans-serif;
  font-size:12px;
  letter-spacing:.08em;
  color:var(--nr-text-soft-alpha);
  line-height:1;
}
.nr-help5-tool span{
  font-family:"IBM Plex Mono",monospace;
  font-size:9.5px;
  color:var(--nr-muted);
}
.nr-help5-shortcuts{
  display:flex;
  flex-direction:column;
  gap:5px;
}
.nr-help5-shortcut{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 10px;
  background:var(--nr-surface-faint);
  border:1px solid var(--nr-border-faint);
  border-radius:6px;
}
.nr-help5-shortcut span{
  font-family:"IBM Plex Mono",monospace;
  font-size:10.5px;
  color:var(--nr-text-soft-alpha);
}
.nr-help5-shortcut kbd{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:22px;
  padding:0 6px;
  background:var(--nr-surface-chip-strong);
  border:1px solid var(--nr-border-emphasis);
  border-bottom-width:2px;
  border-radius:5px;
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  font-weight:700;
  color:var(--nr-text-soft-alpha);
  white-space:nowrap;
  flex-shrink:0;
}
.nr-help5-tips{
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:0;
  margin:0;
}
.nr-help5-tips li{
  font-family:"IBM Plex Mono",monospace;
  font-size:11px;
  color:var(--nr-text-soft-alpha);
  line-height:1.6;
  padding-left:14px;
  position:relative;
}
.nr-help5-tips li::before{
  content:'·';
  position:absolute;
  left:0;
  color:var(--nr-accent);
  font-weight:900;
}
.nr-help5-footer{
  display:flex;
  justify-content:flex-end;
}
.nr-help5-close-main{
  height:32px;
  padding:0 12px;
  border-radius:7px;
  border:1px solid transparent;
  background:var(--nr-gradient-accent-cta);
  color:var(--nr-text-contrast);
  font-family:"Bebas Neue",sans-serif;
  font-size:12px;
  letter-spacing:.10em;
  text-transform:uppercase;
}
@media (max-width: 720px){
  .nr-modal-panel{ border-radius: 22px; }
  .nr-modal-body{ padding: 12px 12px 14px; }
  .nr-help5-title{ font-size: 20px; }
  .nr-help5-name{ font-size: 12px; }
  .nr-help5-desc{ font-size: 10px; }
  .nr-help5-sub{ font-size: 9px; letter-spacing: .12em; }
  .nr-help5-close{ height: 34px; min-width: 34px; font-size: 22px; }
}

/* ===========================
   Home Help Modals
   =========================== */
#scaleInfoModal,
#labAiInfoModal,
#slopedInfoModal{
  position:fixed;
  inset:0;
  z-index:var(--nr-z-modal-raised);
  display:none;
  place-items:center;
  padding:clamp(16px, 3vw, 28px);
  overflow:auto;
  background:
    radial-gradient(1200px 820px at 50% 18%, var(--nr-surface-chip-strong), transparent 58%),
    var(--nr-surface-mask);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#scaleInfoModal > div,
#labAiInfoModal > div,
#slopedInfoModal > div{
  width:min(980px, 100%);
  margin:auto;
  border-radius:28px;
  border:1px solid var(--nr-border-strong-ui);
  background:
    linear-gradient(180deg, var(--nr-surface-overlay-strong), var(--nr-surface-overlay)),
    var(--nr-bg-strong);
  box-shadow:var(--nr-shadow-panel-lg), inset 0 1px 0 var(--nr-border-faint);
  color:var(--nr-text);
  overflow:hidden;
}
#slopedInfoModal > div{
  width:min(1040px, 100%);
}
.nr-inline-nr-home-page-2,
.nr-inline-nr-home-page-3{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.nrscale-head,
.nrlab-head,
.nrs-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--nr-border-faint);
}
.nrscale-title,
.nrlab-title,
.nrs-title{
  margin:0;
  font-family:"Sora", "Inter", system-ui, sans-serif;
  font-size:clamp(1.25rem, 2.6vw, 1.7rem);
  font-weight:800;
  line-height:1.08;
  color:var(--nr-text);
}
.nrscale-badge,
.nrlab-badge{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--nr-border-accent-ui);
  background:var(--nr-surface-accent-cta);
  color:var(--nr-text-contrast);
  font-family:"Syne Mono", monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nrscale-close,
.nrlab-close,
.nrs-close{
  appearance:none;
  flex:0 0 auto;
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid var(--nr-border-stronger);
  background:var(--nr-surface-chip);
  color:var(--nr-text-soft-alpha);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
.nrscale-close:hover,
.nrscale-close:focus-visible,
.nrlab-close:hover,
.nrlab-close:focus-visible,
.nrs-close:hover,
.nrs-close:focus-visible{
  transform:translateY(-1px);
  border-color:var(--nr-border-accent-ui);
  background:var(--nr-surface-chip-strong);
  color:var(--nr-text);
}
.nrscale-body,
.nrlab-body,
.nrs-body{
  display:flex;
  flex-direction:column;
  gap:18px;
  padding:22px 24px 24px;
}
.nrscale-intro,
.nrlab-intro,
.nrs-intro,
.nrscale-tip,
.nrlab-tip{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid var(--nr-border-faint);
  background:linear-gradient(180deg, var(--nr-surface-soft), var(--nr-surface-faint));
  color:var(--nr-text-soft-alpha);
  font-size:.96rem;
  line-height:1.62;
}
.nrscale-flow,
.nrlab-flow{
  display:grid;
  gap:16px;
}
.nrscale-flow{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.nrlab-flow{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.nrscale-step,
.nrlab-step,
.nrs-step{
  display:grid;
  grid-template-columns:auto minmax(0, 1fr);
  gap:14px;
  align-items:flex-start;
  padding:16px;
  border-radius:20px;
  border:1px solid var(--nr-border-faint);
  background:linear-gradient(180deg, var(--nr-surface-soft), var(--nr-surface-faint));
}
.nrscale-num,
.nrlab-num,
.nrs-step-num{
  width:38px;
  height:38px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  font-family:"Syne Mono", monospace;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  border:1px solid var(--nr-border-accent-ui);
  background:var(--nr-surface-accent-cta);
  color:var(--nr-text-contrast);
}
.nrscale-num.ok{
  border-color:var(--nr-success-brd);
  background:var(--nr-surface-success-ui);
  color:var(--nr-success);
}
.nrlab-num.coral{
  border-color:rgba(249, 115, 104, .45);
  background:rgba(249, 115, 104, .14);
  color:#f97368;
}
.nrlab-num.amber,
.nrs-step-num{
  border-color:rgba(245, 158, 11, .45);
  background:rgba(245, 158, 11, .14);
  color:#f59e0b;
}
.nrlab-num.teal{
  border-color:rgba(126, 196, 184, .45);
  background:rgba(126, 196, 184, .14);
  color:#7ec4b8;
}
.nrscale-step-title,
.nrlab-step-title{
  font-size:1rem;
  font-weight:800;
  line-height:1.2;
  color:var(--nr-text);
}
.nrscale-step-desc,
.nrlab-step-desc,
.nrs-step-text{
  color:var(--nr-text-soft-alpha);
  font-size:.92rem;
  line-height:1.58;
}
.nrscale-card,
.nrlab-card,
.nrs-card{
  padding:10px;
  border-radius:18px;
  border:1px solid var(--nr-border-faint);
  background:var(--nr-surface-overlay);
}
.nrscale-wrap,
.nrlab-wrap,
.nrs-wrap{
  min-height:140px;
  border-radius:14px;
  overflow:hidden;
  background:#2a2c32;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}
.nrs-wrap{
  min-height:160px;
}
.nrscale-wrap canvas,
.nrlab-wrap canvas,
.nrs-wrap canvas{
  display:block;
  width:100%;
  height:auto;
}
.nrscale-examples{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:10px;
}
.nrscale-ex-card{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--nr-border-faint);
  background:var(--nr-surface-chip);
  color:var(--nr-text-soft-alpha);
  font-size:.88rem;
  font-weight:700;
  line-height:1.35;
  text-align:center;
}
.nrlab-result,
.nrs-formula{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:20px;
  border:1px solid var(--nr-border-faint);
  background:linear-gradient(180deg, var(--nr-surface-soft), var(--nr-surface-faint));
}
.nrlab-result-title,
.nrs-formula-label{
  font-family:"Syne Mono", monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--nr-text-strong-alpha);
}
.nrlab-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.nrlab-stats > div{
  padding:14px 12px;
  border-radius:16px;
  border:1px solid var(--nr-border-faint);
  background:var(--nr-surface-chip);
}
.nrlab-k{
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--nr-text-faint);
}
.nrlab-v{
  margin-top:8px;
  font-size:1.15rem;
  font-weight:800;
  color:var(--nr-text);
}
.nrs-diagrams,
.nrs-steps{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
}
.nrs-steps{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.nrs-label{
  margin:0 0 10px;
  font-family:"Syne Mono", monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--nr-text-strong-alpha);
}
.nrs-formula{
  grid-template-columns:auto minmax(0, 1fr);
  align-items:flex-start;
}
.nrs-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(245, 158, 11, .38);
  background:rgba(245, 158, 11, .12);
  color:#f59e0b;
  font-size:20px;
  line-height:1;
}
.nrs-formula-text{
  font-size:1.05rem;
  font-weight:800;
  color:var(--nr-text);
  line-height:1.3;
}
.nrs-formula-desc{
  margin-top:6px;
  color:var(--nr-text-soft-alpha);
  font-size:.92rem;
  line-height:1.58;
}
@media (max-width: 960px){
  .nrlab-flow,
  .nrs-steps{
    grid-template-columns:1fr;
  }
  .nrscale-examples,
  .nrs-diagrams{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px){
  #scaleInfoModal,
  #labAiInfoModal,
  #slopedInfoModal{
    padding:12px;
    align-items:start;
  }
  #scaleInfoModal > div,
  #labAiInfoModal > div,
  #slopedInfoModal > div{
    border-radius:22px;
  }
  .nrscale-head,
  .nrlab-head,
  .nrs-head,
  .nrscale-body,
  .nrlab-body,
  .nrs-body{
    padding-left:16px;
    padding-right:16px;
  }
  .nrscale-head,
  .nrlab-head,
  .nrs-head{
    padding-top:16px;
    padding-bottom:14px;
  }
  .nrscale-body,
  .nrlab-body,
  .nrs-body{
    padding-top:16px;
    padding-bottom:16px;
    gap:14px;
  }
  .nrscale-flow,
  .nrscale-examples,
  .nrlab-stats,
  .nrs-diagrams{
    grid-template-columns:1fr;
  }
  .nrscale-step,
  .nrlab-step,
  .nrs-step,
  .nrs-formula{
    padding:14px;
  }
}

/* ===========================
   Empty state should be above checkerboard
   =========================== */
/* (.nr-canvaswrap deklarowane na L165 — position/overflow/isolation są już ustawione) */
.nr-canvaswrap::after{ z-index: 0; }

/* Strong stacking: keep checkerboard behind all content */
.nr-canvaswrap > *{ position: relative; z-index: 2; }

/* Empty state primary button should stay readable over checkerboard */

/* Segmented control (Photo / ISO) */
.nr-seg{
  display:flex;
  padding: 4px;
  border-radius: 999px;
  background: var(--nr-surface-overlay);
  border: 1px solid var(--nr-border-emphasis);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: var(--nr-shadow-dropdown), inset 0 1px 0 var(--nr-border-faint);
}
.nr-segBtn{
  appearance:none;
  border:0;
  background: transparent;
  color: var(--nr-text-soft-alpha);
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  cursor:pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.nr-segBtn:hover{ color: var(--nr-text); }
.nr-segBtn.is-active{
  background: var(--nr-border-emphasis);
  color: var(--nr-text);
  box-shadow: inset 0 1px 0 var(--nr-border-strong-ui);
}

/* ===========================
   Simple-shape isometric preview (no photo)
   =========================== */
.nr-isoWrap{
  border: 0;
  background: transparent;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}
.nr-isoLabel{
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--nr-text-soft-alpha);
  text-align: center;
  margin: 14px 0 0;
}
.nr-isoHint{
  margin: 16px auto 0;
  max-width: 720px;
  text-align: center;
  font-size: 11px;
  color: var(--nr-muted);
}
.nr-isoScene{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: clamp(300px, 44vh, 460px);
  max-height: 500px;
  border-radius: 24px;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.nr-isoScene::after{
  display: none;
}
/* Podglad izo (bez zdjecia): jeden czysty panel — bez WEWNETRZNEGO bento: zdejmujemy
   scrim/ramke .nr-canvaswrap ORAZ pudelko .nr-isoScene (radial + ramka dodawane w
   html.nr-embed), a w tle dajemy lekki szum. Wysoka specyficznosc (html .klasa.klasa:has)
   bije reguly embeda i dziala w obu motywach. Tryb ze zdjeciem/dropzone nietkniety. */
html .nr-canvaswrap.nr-bg-scrim-sm:has(.nr-isoWrap){
  background-color: transparent;
  border-color: transparent;
  box-shadow: none;
  padding: 0;
  border-radius: 18px;
  /* lekki szum w tle — SVG feTurbulence, neutralny dla jasnego i ciemnego motywu */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.34'/%3E%3C/svg%3E");
  background-size: 140px 140px;
}
html .nr-canvaswrap.nr-bg-scrim-sm:has(.nr-isoWrap) .nr-isoScene{
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* Layered isometric preview (stack of pours) */
.nr-isoStack{
  --u: 20px; /* unit size for iso layers */
  position: absolute;
  left: 50%;
  top: 50%;
  transform-style: preserve-3d;
  transform: translate(-50%, -50%) translateY(var(--isoAutoY, 0px)) scale(var(--isoScale, 1)) rotateX(60deg) rotateZ(45deg);
}
.nr-isoLayer{
  width: calc(var(--w) * var(--u));
  height: calc(var(--h) * var(--u));
  position: absolute;
  left: 50%;
  top: 50%;
  /* odstęp Z między warstwami: większy = wyraźniej rozsunięte płyty (czytelne "linie warstw").
     Przy dużej liczbie warstw auto-fit (autoCenterIso) i tak wpasuje stos w scenę. */
  transform: translate(-50%, -50%) translateZ(calc(var(--z) * -18px)) translateY(calc(var(--z) * 0.5px));
  border-radius: 18px;
  background: linear-gradient(135deg, var(--nr-border-emphasis-strong), var(--nr-surface-chip));
  border: 1px solid var(--nr-border-strong-ui);
  box-shadow: var(--nr-shadow-panel), inset 0 1px 0 var(--nr-border-strong-ui);
  opacity: calc(1 - (var(--z) / (var(--n) + 2)));
  filter: drop-shadow(0 18px 18px rgba(0,0,0,.26));
}

/* Masked ISO layers (use mask PNG from AI mask) */
.nr-isoLayer.hasMask{
  border-radius: 0;
  background: linear-gradient(135deg, var(--nr-border-emphasis-strong), var(--nr-surface-chip));
  -webkit-mask-image: var(--maskImg);
  mask-image: var(--maskImg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.nr-isoLayer.isSlopeMask{
  background: rgba(234, 120, 38, 0.72); /* matowy pomarancz dla skosu */
  border: 0;
  box-shadow: none;
  filter: none;
  opacity: calc((1 - (var(--z) / (var(--n) + 2))) * 0.9);
  pointer-events: none;
}

.nr-isoScene.is-circle .nr-isoLayer{ border-radius: 999px; }

/* Mold form outline — dashed wireframe (base + top edge).
   Chain class boost specificity (0,2,0) > .nr-isoLayer.hasMask. */
.nr-isoLayer.nr-isoLayer--mold {
  background: transparent;
  border: 1.5px dashed rgba(255, 255, 255, 0.42);
  border-radius: 4px;
  box-shadow: none;
  filter: none;
  opacity: 0.65;
  pointer-events: none;
  -webkit-mask-image: none;
  mask-image: none;
}
.nr-isoLayer.nr-isoLayer--mold-top {
  border-style: solid;
  border-color: rgba(255, 255, 255, 0.32);
  opacity: 0.55;
}
/* Wypełnienie półprzezroczystym lekkim tłem dla base — sugeruje dno formy */
.nr-isoLayer.nr-isoLayer--mold:not(.nr-isoLayer--mold-top) {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01));
}
.nr-isoScene.is-circle .nr-isoLayer.nr-isoLayer--mold {
  border-radius: 50%;
}

@media (max-width: 640px){
  .nr-isoScene{ height: clamp(190px, 30vh, 260px); border-radius: 22px; }
}
/* IZO na mobile — zmniejszony unit + niższa scena żeby cały rotated stack mieścił się
   w viewport BEZ wymuszania scrolla. Rotacja rotateX(60)+rotateZ(45) tworzy diagonal
   footprint ~sqrt(2) × base size. */
@media (max-width: 768px) {
  .nr-isoScene {
    height: clamp(160px, 26vh, 230px);
    overflow: hidden;
    padding: 10px;
  }
  .nr-isoStack {
    --u: 9px;
    --isoScale: 0.88;
  }
}
@media (max-width: 480px) {
  .nr-isoScene {
    height: clamp(140px, 22vh, 190px);
    padding: 8px;
  }
  .nr-isoStack {
    --u: 7px;
    --isoScale: 0.82;
  }
}

/* Ground shadow for isometric stack */
.nr-isoScene::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:60%;
  height:12%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse at center,
    rgba(0,0,0,.45) 0%,
    rgba(0,0,0,.25) 35%,
    rgba(0,0,0,.10) 55%,
    rgba(0,0,0,0) 75%);
  filter: blur(22px);
  pointer-events:none;
  z-index:0;
}
.nr-isoStack{
  z-index:1;
}

html.nr-embed .nr-isoLabel{
  color: rgba(241, 245, 249, 0.88);
}
html.nr-embed .nr-isoHint{
  color: rgba(226, 232, 240, 0.72);
}
html.nr-embed .nr-isoScene{
  background:
    radial-gradient(ellipse at 50% 48%, rgba(45, 212, 191, 0.10) 0%, rgba(15, 23, 42, 0.18) 46%, rgba(15, 23, 42, 0.04) 100%);
  border: 1px solid rgba(148, 163, 184, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
html.nr-embed .nr-isoScene::after{
  background: radial-gradient(ellipse at center,
    rgba(20, 184, 166, 0.20) 0%,
    rgba(15, 23, 42, 0.26) 38%,
    rgba(15, 23, 42, 0.10) 58%,
    rgba(15, 23, 42, 0) 76%);
  filter: blur(20px);
}
html.nr-embed .nr-isoLayer{
  background: linear-gradient(135deg, rgba(52, 211, 153, 0.64), rgba(56, 189, 248, 0.34));
  border-color: rgba(167, 243, 208, 0.52);
  box-shadow: 0 18px 22px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.26);
  filter: drop-shadow(0 16px 16px rgba(0, 0, 0, 0.22));
}
html.nr-embed .nr-isoLayer.hasMask{
  background: linear-gradient(135deg, rgba(45, 212, 191, 0.78), rgba(52, 211, 153, 0.50));
  border-color: rgba(204, 251, 241, 0.42);
}
html.nr-embed .nr-isoLayer.isSlopeMask{
  background: rgba(249, 115, 22, 0.70);
}
html.nr-embed .nr-isoLayer.nr-isoLayer--mold{
  background: transparent;
  border-color: rgba(226, 232, 240, 0.66);
  opacity: 0.78;
}
html.nr-embed .nr-isoLayer.nr-isoLayer--mold-top{
  border-color: rgba(255, 255, 255, 0.82);
  opacity: 0.78;
}
html.nr-embed .nr-isoLayer.nr-isoLayer--mold:not(.nr-isoLayer--mold-top){
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.06), rgba(45, 212, 191, 0.03));
}
html.nr-embed[data-theme="light"] .nr-isoLabel{
  color: #374151;
}
html.nr-embed[data-theme="light"] .nr-isoHint{
  color: #4b5563;
}
html.nr-embed[data-theme="light"] .nr-isoScene{
  background:
    radial-gradient(ellipse at 50% 48%, rgba(255, 255, 255, 0.86) 0%, rgba(248, 247, 243, 0.80) 34%, rgba(233, 231, 225, 0.62) 70%, rgba(222, 219, 211, 0.42) 100%);
  border-color: rgba(30, 41, 59, 0.12);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 18px 46px rgba(15, 23, 42, 0.10);
}
html.nr-embed[data-theme="light"] .nr-isoScene::after{
  background: radial-gradient(ellipse at center,
    rgba(15, 23, 42, 0.20) 0%,
    rgba(15, 23, 42, 0.12) 36%,
    rgba(15, 23, 42, 0.05) 58%,
    rgba(15, 23, 42, 0) 76%);
  filter: blur(18px);
}
html.nr-embed[data-theme="light"] .nr-isoLayer{
  background: linear-gradient(135deg, rgba(22, 163, 74, 0.50), rgba(14, 165, 233, 0.30));
  border-color: rgba(20, 83, 45, 0.42);
  box-shadow: 0 18px 22px rgba(15, 23, 42, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.42);
  filter: drop-shadow(0 16px 14px rgba(15, 23, 42, 0.14));
}
html.nr-embed[data-theme="light"] .nr-isoLayer.hasMask{
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.72), rgba(45, 212, 191, 0.46));
}
html.nr-embed[data-theme="light"] .nr-isoLayer.isSlopeMask{
  background: rgba(234, 88, 12, 0.62);
}
html.nr-embed[data-theme="light"] .nr-isoLayer.nr-isoLayer--mold{
  background: transparent;
  border-color: rgba(30, 41, 59, 0.48);
  opacity: 0.82;
}
html.nr-embed[data-theme="light"] .nr-isoLayer.nr-isoLayer--mold-top{
  border-color: rgba(30, 41, 59, 0.62);
  opacity: 0.82;
}
html.nr-embed[data-theme="light"] .nr-isoLayer.nr-isoLayer--mold:not(.nr-isoLayer--mold-top){
  background: linear-gradient(135deg, rgba(148, 163, 184, 0.12), rgba(255, 255, 255, 0.04));
}

html.nr-embed .nr-layout-visual.has-image{
  max-width: 100%;
  overflow: hidden;
}
html.nr-embed .nr-layout-visual.has-image #nr-visualizer,
html.nr-embed #nr-visualizer.has-image,
html.nr-embed #nr-visualizer.has-image > .nr-canvas-stage,
html.nr-embed #nr-visualizer.has-image > .nr-canvas-stage > .nr-canvas-stage-inner.nr-canvaswrap.has-image{
  max-width: 100%;
  overflow: hidden;
}
html.nr-embed #nr-visualizer.has-image > .nr-canvas-stage{
  width: 100%;
}
html.nr-embed #nr-visualizer.has-image .nr-canvaszoom{
  max-width: 100%;
  max-height: 100%;
}
html.nr-embed .nr-edit-topbar{
  left: 12px;
  right: 12px;
  width: auto;
  max-width: none;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  pointer-events: none;
}
html.nr-embed .nr-edit-topbar > button{
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  pointer-events: auto;
}
html.nr-embed .nr-edit-topbar .nr-seg{
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  pointer-events: auto;
}
html.nr-embed .nr-edit-topbar .nr-seg .nr-segBtn{
  min-width: 0;
  letter-spacing: .08em;
  padding-left: 10px;
  padding-right: 10px;
}
@media (max-width: 520px){
  html.nr-embed .nr-edit-topbar{
    left: 8px;
    right: 8px;
    top: 8px;
  }
  html.nr-embed .nr-edit-topbar > button,
  html.nr-embed .nr-edit-topbar .nr-seg .nr-segBtn{
    min-height: 30px;
    padding-left: 8px;
    padding-right: 8px;
    font-size: 10px;
    letter-spacing: .04em;
  }
}

/* ===== Hide mobile zoom/pan preview controls (not needed) ===== */

/* ===== Mobile improvements: ISO + Timeline ===== */
@media (max-width: 520px){
  /* ISO text */
  .nr-isoScene{
    height: 200px;
    min-height: 200px;
  }
  .nr-isoHint{
    font-size: 12px;
    line-height: 1.35;
    max-width: 32ch;
    margin: 8px auto 0;
  }
  /* Buttons: full width */
}

@media (max-width: 720px){
  /* Timeline: make the whole track scrollable and prevent clipping */
  .nr-timeline{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 6px;
  }
}

/* ===================================================================
/* Legacy utility layer cleanup */

/* === LISTS === */
.list-decimal { list-style-type: decimal; }

/* === TRANSFORMS (live) === */
.will-change-transform { will-change: transform; }

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* === SCROLLBAR === */
.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: rgba(255,255,255,.05); }
.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 3px; }
.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,.3); }

/* Timeline mobile layout */

/* ===== Mobile full-bleed layout (all main frames touch screen edges) ===== */
@media (max-width: 768px){
  #nr-scroll-root{
    padding-left: 0;
    padding-right: 0;
  }
  #nr-scroll-root > div{
    gap: 12px;
  }
  #nr-scroll-root > div > .nr-col-span-12,
  #nr-scroll-root > div > .nr-col-span-2,
  #nr-scroll-root > div > .nr-col-span-3,
  #nr-scroll-root > div > .nr-col-span-4,
  #nr-scroll-root > div > .nr-col-span-6,
  #nr-scroll-root > div > .nr-col-span-8,
  #nr-scroll-root > div > .nr-lg-col-span-4,
  #nr-scroll-root > div > .nr-lg-col-span-8{
    border-left: 0;
    border-right: 0;
    border-radius: 8px;
    margin-left: 0;
    margin-right: 0;
  }
  /* "Kable bento" (proces / okno pracy / timeline) - slightly softer corners */
  .nr-layout-visual{
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    padding: 10px 0 12px;
  }
  .nr-layout-visual #nr-visualizer{
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    padding: 0;
  }
  .nr-layout-visual #nr-visualizer > .nr-canvaswrap{
    border-radius: 0;
  }
}

/* Shared CTA buttons */
.nr-cta-btn{
  height:46px;
  padding:0 18px;
  border-radius:var(--radius-md);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
  border:1px solid rgba(255,255,255,0.12);
  transition:transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
  text-decoration:none;
  user-select:none;
}
.nr-cta-btn:hover{ transform:translateY(-2px); border-color:rgba(255,255,255,0.22); }
.nr-cta-btn:active{ transform:translateY(-1px) scale(.99); }
.nr-cta-btn--secondary{
  background:transparent;
  color:rgba(255,255,255,0.55);
}
.nr-cta-btn--secondary:hover{
  background:rgba(255,255,255,0.04);
  color:#fff;
}
.nr-cta-btn--primary{
  background:var(--nr-gradient-accent-cta);
  color:var(--nr-text-contrast);
}
.nr-cta-btn--primary:hover{
  background:var(--nr-surface-accent-cta);
}
.nr-cta-arrow{
  width:16px;
  height:16px;
  opacity:.7;
  transition:transform .25s ease;
}
.nr-cta-btn--primary:hover .nr-cta-arrow{ transform:translateX(3px); }

@media (max-width: 768px){
  .nr-cta-btn{
    width:100%;
  }
}


/* ═══════════════════════════════════════════
   EKSPORT v2 — editorial style
   Wielka typografia, action words inline z okrągłymi strzałkami,
   labelki w rogach. Brak boksów / pitcha / dwu-kolumnowego layoutu.
   ═══════════════════════════════════════════ */
.nr-export-v2{
  position: relative;
  padding: clamp(36px, 5vw, 72px) clamp(28px, 4vw, 64px);
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.06);
  background:
    radial-gradient(820px 420px at 88% 6%, rgba(194,106,97,.07), transparent 62%),
    linear-gradient(160deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
  min-height: 380px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: clamp(36px, 5vw, 72px);
  overflow: hidden;
  isolation: isolate;
}
.nr-export-v2__label{
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
  font-family: 'Inter', system-ui, sans-serif;
}
.nr-export-v2__label--top{
  margin-bottom: clamp(12px, 1.6vw, 24px);
}
.nr-export-v2__statement{
  margin: 0;
  font-family: 'Sora', 'Inter', sans-serif;
  font-size: clamp(24px, 3.4vw, 48px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.025em;
  color: rgba(255,255,255,.46);
  max-width: 24ch;
}
.nr-export-v2__action{
  display: inline-flex;
  align-items: center;
  gap: clamp(8px, 1vw, 14px);
  background: transparent;
  border: 0;
  padding: 0 4px;
  margin: 0 2px;
  font: inherit;
  font-weight: 900;
  color: var(--nr-text);
  cursor: pointer;
  letter-spacing: inherit;
  transition: color .15s ease;
  vertical-align: baseline;
  line-height: inherit;
  -webkit-tap-highlight-color: transparent;
}
.nr-export-v2__action:hover,
.nr-export-v2__action:focus-visible{
  color: var(--nr-accent-soft);
  outline: none;
}
.nr-export-v2__arrow{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(28px, 2.4vw, 38px);
  height: clamp(28px, 2.4vw, 38px);
  border-radius: 50%;
  border: 1.5px solid currentColor;
  background: transparent;
  flex-shrink: 0;
  transition: background .18s ease, transform .18s ease, color .18s ease;
}
.nr-export-v2__arrow svg{
  width: clamp(14px, 1.2vw, 18px);
  height: clamp(14px, 1.2vw, 18px);
}
.nr-export-v2__action:hover .nr-export-v2__arrow,
.nr-export-v2__action:focus-visible .nr-export-v2__arrow{
  background: var(--nr-accent-soft);
  color: #fff;
  border-color: var(--nr-accent-soft);
  transform: translateX(3px);
}
.nr-export-v2__bottom{
  display: grid;
  grid-template-columns: minmax(120px, 160px) minmax(0, 1fr);
  gap: clamp(20px, 3vw, 56px);
  align-items: start;
  max-width: 820px;
}
.nr-export-v2__copy{
  margin: 0;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 500;
  line-height: 1.55;
  color: rgba(255,255,255,.62);
  max-width: 60ch;
}
.nr-local3d-modal{
  position:fixed;
  inset:0;
  z-index:10020;
  display:grid;
  place-items:center;
  padding:clamp(10px,2vw,24px);
  background:rgba(7,8,11,.78);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.nr-local3d-modal__dialog{
  width:min(1380px,100%);
  height:min(900px,calc(100svh - 28px));
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  background:#101114;
  box-shadow:0 36px 110px rgba(0,0,0,.58);
}
.nr-local3d-modal__head{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 18px 14px 24px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(20,21,25,.98);
}
.nr-local3d-modal__eyebrow{
  display:block;
  margin-bottom:3px;
  color:var(--nr-accent-soft);
  font:700 9px/1.2 'DM Mono',monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nr-local3d-modal__head h2{
  margin:0;
  color:rgba(255,255,255,.94);
  font:700 clamp(17px,2vw,23px)/1.15 'Sora','Inter',sans-serif;
  letter-spacing:-.025em;
}
.nr-local3d-modal__close{
  width:42px;
  height:42px;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:rgba(255,255,255,.04);
  color:#fff;
  font:300 28px/1 system-ui,sans-serif;
  cursor:pointer;
}
.nr-local3d-modal__close:hover,
.nr-local3d-modal__close:focus-visible{
  border-color:rgba(255,255,255,.35);
  background:rgba(255,255,255,.1);
  outline:none;
}
.nr-local3d-modal__frame,
.nr-local3d-modal__frame iframe{
  width:100%;
  height:100%;
  min-height:0;
}
.nr-local3d-modal__frame iframe{
  display:block;
  border:0;
  background:#111216;
}
@media (max-width:700px){
  .nr-local3d-modal{padding:0;}
  .nr-local3d-modal__dialog{height:100svh;border:0;border-radius:0;}
  .nr-local3d-modal__head{min-height:62px;padding:10px 12px 10px 16px;}
}
@media (max-width: 768px){
  .nr-export-v2{
    min-height: auto;
    padding: 28px 22px;
    gap: 28px;
  }
  .nr-export-v2__statement{
    font-size: 22px;
    max-width: 100%;
  }
  .nr-export-v2__bottom{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .nr-export-v2__arrow{
    width: 26px;
    height: 26px;
  }
  .nr-export-v2__arrow svg{
    width: 13px;
    height: 13px;
  }
}
@keyframes nr-export-tool-float{
  0%, 100%{ translate:0 0; }
  50%{ translate:0 -7px; }
}
@media (prefers-reduced-motion: reduce){
  .nr-export-tool{ animation:none; }
}
@media (max-width: 980px){
  .nr-export-section .nr-export-head{ align-items: flex-start; }
  .nr-export-tools-bg{ display:none; }
}

/* =====================================================
   STONE SPACING SYSTEM
   - Global gutters
   - Unified card padding rhythm
   ===================================================== */

/* Global page gutters */
#nr-scroll-root,
main{
  padding-left: clamp(14px, 4vw, 32px);
  padding-right: clamp(14px, 4vw, 32px);
}

/* Card padding rhythm */

/* Vertical rhythm inside cards */

/* Safety: no horizontal overflow */
html, body{
  overflow-x: hidden;
}

/* =====================================================
   STONE HEADERS SYSTEM
   - Unified card/section headers (height, baseline, spacing)
   - Prevent header text clipping + deco overlap
   ===================================================== */

:root{
  --nr-kicker-size: 11px;
  --nr-kicker-track: .14em;
  --nr-title-size: 16px;
  --nr-title-track: -.02em;
}

/* Kicker / section label (STONE) */
.nr-layer-title,
.nr-isoLabel {
  font-weight: 950;
  letter-spacing: var(--nr-kicker-track);
  text-transform: uppercase;
  font-size: var(--nr-kicker-size);
  line-height: 1.1;
  margin: 0;
}

/* Secondary line under kicker (STONE) */
.nr-layer-sub{
  font-size: 12px;
  line-height: 1.25;
  color: var(--nr-muted);
  margin: 2px 0 0 0;
}

.nr-layersummary{
  position: relative;
  overflow: visible;
}

/* Dynamic toolbar row: keep horizontal layout */
.nr-scale-row{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* AI tools container chips: reduce pill look */
.nr-aiToolBtn{
  height: 52px;
}

/* =====================================================
   AI tabs and mass balance styling
   ===================================================== */

/* Global Surface Layer */
  :root{
    color-scheme: dark;
  }
  html,body{
    background:
      radial-gradient(1200px 700px at 18% 8%, var(--nr-surface-accent-cta), transparent 55%),
      linear-gradient(180deg, var(--nr-bg), var(--nr-bg-deep));
    background-attachment: fixed;
  }
  /* soften overall typography */
  body, button, input, select, textarea{
    font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  }
  /* Bento-like cards (non-invasive) — explicit list, no wildcards */
  .nr-card,
  .nr-glass-card,
  .nr-rec-card,
  .nr-pig-card{
    border-radius: 22px;
  }

/* Typography and Radius Layer */
  :root{
    --soft-shadow: 0 14px 38px rgba(0,0,0,.35);
    --soft-inset: inset 0 1px 0 rgba(255,255,255,.08);
  }

  /* Typography: calmer tracking + clearer hierarchy */
  h1, h2, h3, .nr-title, .nr-layer-title{
    letter-spacing: .04em;
  }
  .nr-title, h1, h2{
    font-family: "Space Grotesk", "IBM Plex Sans", "SF Pro Display", system-ui, sans-serif;
    font-weight: 800;
  }

  /* Soften heavy shadows */

  /* Unified radii */
  .nr-radius-lg{ border-radius: var(--radius-lg); }
  .nr-radius-md{ border-radius: var(--radius-md); }

  /* Improve low-contrast text in helper areas */
  .nr-isoHint{
    color: var(--nr-muted);
  }

  /* Spotlight focus on main canvas */
  .nr-canvaswrap{
    background: radial-gradient(900px 420px at 50% 30%, var(--nr-surface-chip), transparent 60%);
  }

  /* Buttons: quieter by default, clearer active state */
  button{
    border-radius: var(--radius-md);
  }
  .nr-seg-btn.is-active{
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.22);
    color: #fff;
  }

/* Recommendation UI Layer */
.nr-rec-section {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid var(--nr-border-accent-soft);
  background:
    radial-gradient(600px 300px at 20% 10%, var(--nr-surface-accent), transparent 60%),
    radial-gradient(500px 300px at 80% 90%, var(--nr-surface-info-ui), transparent 60%),
    var(--nr-surface-overlay);
  backdrop-filter: blur(12px);
  padding: 24px;
}
.nr-rec-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 0;
  flex-wrap: wrap;
}
.nr-rec-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:
    "title cta"
    "badges cta";
  column-gap:16px;
  row-gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.nr-rec-top .nr-rec-header{ grid-area:title; }
.nr-rec-top .nr-rec-project-badges{ grid-area:badges; margin-bottom:0; }
.nr-rec-top .nr-rec-btn{
  grid-area:cta;
  align-self:center;
  justify-self:end;
}
.nr-rec-title-wrap { display: flex; align-items: center; gap: 10px; }
.nr-rec-icon {
  width: 36px; height: 36px; border-radius: 12px;
  background: var(--nr-surface-accent-cta);
  border: 1px solid var(--nr-border-accent-soft);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.nr-rec-title {
  font-size: 13px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--nr-text-sec);
}
.nr-rec-subtitle {
  font-size: 10px; font-weight: 600;
  color: var(--nr-text-subtle); letter-spacing: .06em;
}
.nr-rec-btn {
  height: 40px; padding: 0 20px; border-radius: var(--radius-md);
  background: var(--nr-accent); color: var(--nr-text-contrast);
  border: none; font-family: 'Sora', system-ui, sans-serif;
  font-size: 10px; font-weight: 800; text-transform: uppercase;
  letter-spacing: .12em; cursor: pointer;
  display: inline-flex; align-items: center; gap: 7px;
  transition: all .25s ease;
  box-shadow: var(--nr-shadow-accent-cta);
}
.nr-rec-btn:hover {
  background: var(--nr-accent-soft);
  transform: translateY(-2px);
  box-shadow: var(--nr-shadow-accent-cta);
}
.nr-rec-btn:active { transform: translateY(-1px) scale(.99); }
.nr-rec-btn:disabled {
  opacity: .5; cursor: not-allowed; transform: none;
  box-shadow: none;
}
.nr-rec-btn svg { width: 14px; height: 14px; }

/* Loading spinner */
@keyframes nrRecSpin { to { transform: rotate(360deg); } }
.nr-rec-spinner {
  width: 14px; height: 14px; border: 2px solid var(--nr-border-emphasis);
  border-top-color: var(--nr-text-contrast); border-radius: 50%;
  animation: nrRecSpin .6s linear infinite;
}

/* Results */
.nr-rec-results { margin-top: 16px; }
.nr-rec-podium { display: grid; grid-template-columns: 1fr; gap: 10px; margin-bottom: 16px; }
@media (min-width: 640px) { .nr-rec-podium { grid-template-columns: repeat(3, 1fr); } }

.nr-rec-card {
  border-radius: var(--radius-lg); padding: 16px;
  border: 1px solid var(--nr-border-mid);
  background: linear-gradient(180deg, var(--nr-surface-chip), var(--nr-surface-faint));
  transition: all .25s ease;
  position: relative;
}
.nr-rec-card:hover { border-color: var(--nr-border-emphasis); background: linear-gradient(180deg, var(--nr-surface-chip-strong), var(--nr-surface-soft)); transform: translateY(-2px); }
.nr-rec-card--best {
  border-color: var(--nr-border-accent-soft);
  background: linear-gradient(180deg, var(--nr-surface-accent-cta), var(--nr-surface-accent));
  box-shadow: var(--nr-shadow-accent-cta);
}
.nr-rec-card--best::before {
  content: '★ NAJLEPSZA';
  position: absolute; top: -1px; right: 16px;
  font-size: var(--fs-micro); font-weight: 800; letter-spacing: .16em;
  color: var(--nr-accent); background: var(--nr-surface-accent-cta);
  padding: 3px 10px 4px; border-radius: 0 0 8px 8px;
  border: 1px solid var(--nr-border-accent-soft); border-top: none;
}
html[lang="en"] .nr-rec-card--best::before {
  content: '★ BEST';
}
.nr-rec-card-brand {
  font-size: var(--fs-micro); font-weight: 700;
  text-transform: uppercase; letter-spacing: .14em;
  color: var(--nr-text-subtle); margin-bottom: 4px;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.nr-rec-card-name {
  font-size: 16px; font-weight: 900;
  color: var(--nr-text); line-height: 1.15;
  margin-bottom: 10px;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.nr-rec-card-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  background: transparent;
  border: 1px solid var(--nr-border-mid);
  border-radius: var(--radius-sm);
  background: linear-gradient(180deg, var(--nr-surface-soft-strong), var(--nr-surface-faint));
  box-shadow: none;
  padding: 0;
  overflow: hidden;
}
.nr-rec-card-stat {
  font-size: 10px; font-weight: 700;
  padding: 7px 10px;
  border-radius: 0;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--nr-border-soft-plus);
  color: var(--nr-text-subtle);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  box-shadow: none;
}
.nr-rec-card-stat:last-child{ border-bottom: 0; }
.nr-rec-card-stat b, .nr-rec-card-stat-v { color: var(--nr-text-soft-alpha); font-weight: 900; }
.nr-rec-card-stat-k { color: var(--nr-muted); letter-spacing: .06em; }

.nr-rec-card-use {
  margin-top: 10px;
  height: 32px; width: 100%; border-radius: var(--radius-sm);
  background: var(--nr-info-soft);
  border: 1px solid var(--nr-info-brd);
  color: var(--nr-info);
  font-size: var(--fs-micro); font-weight: 800; text-transform: uppercase;
  letter-spacing: .1em; cursor: pointer;
  transition: all .2s;
}
.nr-rec-card-use:hover {
  background: var(--nr-surface-info-strong);
  border-color: var(--nr-border-info-ui);
}

/* Wyłącz wewnętrzne "cable bars" w rec-card — explicit list */
.nr-rec-card-brand,
.nr-rec-card-name,
.nr-rec-card-stats,
.nr-rec-card-stat,
.nr-rec-card-use{
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

/* AI text */
.nr-rec-ai-box {
  border-radius: var(--radius-md); padding: 14px 16px;
  background: var(--nr-surface-faint);
  border: 1px solid var(--nr-border-faint);
  position: relative;
}
.nr-rec-ai-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--fs-micro); font-weight: 800; text-transform: uppercase;
  letter-spacing: .18em; color: var(--nr-text-subtle);
  margin-bottom: 8px;
}
.nr-rec-ai-badge::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--nr-accent);
  box-shadow: 0 0 6px var(--nr-border-accent-strong);
}
.nr-rec-ai-text {
  font-size: 14px; font-weight: 500;
  line-height: 1.65; color: var(--nr-text-subtle);
}
.nr-rec-ai-text strong, .nr-rec-ai-text b {
  color: var(--nr-text-sec); font-weight: 700;
}
/* Plakietka "AI" z dymkiem: sygnalizuje treść generowaną przez AI (na bazie danych żywicy) */
.nr-ai-chip {
  position: relative;
  display: inline-flex; align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--nr-surface-accent);
  border: 1px solid var(--nr-border-accent-ui);
  color: var(--nr-accent);
  font-size: 10px; font-weight: 900; letter-spacing: .1em;
  line-height: 1; cursor: help; outline: none;
}
.nr-ai-chip__tip {
  position: absolute;
  top: calc(100% + 8px); left: 0;
  z-index: 50;
  width: max-content; max-width: 260px;
  padding: 9px 11px;
  border-radius: 10px;
  background: #1b1b1e; color: #e8e6e0;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 34px rgba(0,0,0,.4);
  font-size: 11px; font-weight: 600; letter-spacing: 0; text-transform: none;
  line-height: 1.45; white-space: normal;
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity .14s ease, transform .14s ease, visibility .14s;
  pointer-events: none;
}
.nr-ai-chip__tip::before {
  content: ""; position: absolute; bottom: 100%; left: 14px;
  border: 6px solid transparent; border-bottom-color: #1b1b1e;
}
.nr-ai-chip:hover .nr-ai-chip__tip,
.nr-ai-chip:focus .nr-ai-chip__tip,
.nr-ai-chip:focus-visible .nr-ai-chip__tip {
  opacity: 1; visibility: visible; transform: translateY(0);
}

/* Project type badge */
.nr-rec-project-badge {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: var(--fs-micro); font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase;
  padding: 4px 10px; border-radius: var(--radius-sm);
  background: var(--nr-info-soft);
  border: 1px solid var(--nr-info-brd);
  color: var(--nr-info);
}

/* ═══════ BODY & ROOT ═══════ */
body, html { background: var(--nr-bg); color: var(--nr-text); }

/* ═══════ INNER ROWS / SECTIONS ═══════ */
.nr-mass-row {
  background: var(--nr-surface);
  border-color: var(--nr-border);
}

/* ═══════ TEXT ═══════ */
label { color: var(--nr-muted); }

/* ═══════ STATS ═══════ */
.nr-stat { background: var(--nr-surface-alt); border-color: var(--nr-border); }
.nr-stat-k { color: var(--nr-muted); }
.nr-stat-v { color: var(--nr-text); }
/* Improve readability of mini stat labels (WARSTW / MAX / OSTATNIA) */
.nr-ui-mass .nr-stat-k{
  color: rgba(226,232,240,.92);
  opacity: 1;
  letter-spacing: .16em;
}

/* ═══════ INPUTS ═══════ */
input[type="range"] { accent-color: var(--nr-accent); }
input[type="text"], input[type="number"], input[type="email"], input[type="tel"],
select, textarea {
  background: var(--nr-surface-alt);
  color: var(--nr-text);
  border-color: var(--nr-border);
}
input::placeholder { color: var(--nr-muted); }

/* ═══════ MODALS / OVERLAYS ═══════ */
.nr-modal-panel, #slopedInfoModal > div {
  background: var(--nr-surface);
  border-color: var(--nr-border);
  color: var(--nr-text);
}
#slopedInfoModal { background: var(--nr-overlay); }
#slopedInfoModal h3 { color: var(--nr-text); }
#slopedInfoModal p { color: var(--nr-muted); }

/* ═══════ NAVIGATION ═══════ */
#root nav, #root header, #nr-modal-root nav, #nr-modal-root header { background: var(--nr-bg-deep); border-color: var(--nr-border); }

/* ═══════ SCROLLBAR ═══════ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--nr-bg); }
::-webkit-scrollbar-thumb { background: var(--nr-border-solid); border-radius: 3px; }

/* ═══════ CANVAS AREA stays dark ═══════ */
.nr-canvaswrap { background: #1a1a1c; border-radius: 12px; }

/* ═══════ Light-only adjustments ═══════ */
[data-theme="light"] .nr-col-green { color: var(--nr-success); }
[data-theme="light"] .nr-col-amber { color: var(--nr-warning); }
[data-theme="light"] .nr-col-rose-dk { color: var(--nr-accent); }

/* Inline dark backgrounds: light-mode override */
[data-theme="light"] [style*="background:#050505"],
[data-theme="light"] [style*="background: rgba(5,6,7"] {
  background: var(--nr-surface);
}

/* Mass Balance Layer */
.nr-mass-summary-grid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: stretch;
}
.nr-mass-metric{
  min-width: 0;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--nr-border-emphasis);
}
.nr-mass-metric:last-child{ border-bottom: 0; padding-bottom: 0; }
/* "Do kupienia" + "Czas pracy" obok siebie w jednym rzędzie */
.nr-mass-pair{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.nr-mass-pair__col{ min-width: 0; }
/* w parach liczby mniejsze niż w pojedynczych metrykach — żeby dwie zmieściły się w rzędzie.
   Wysoka specyficzność, by pobić .nr-ui-mass .nr-mass-row--summary .nr-tabular-nums */
.nr-ui-mass .nr-mass-row--summary .nr-mass-pair .nr-tabular-nums{ font-size: clamp(1.25rem, 3.6vw, 1.6rem); }
.nr-mass-note{ padding-top: 4px; }
.nr-mass-row--summary .nr-tabular-nums{
  font-size: clamp(2.1rem, 2.35vw, 2.55rem);
  line-height: .95;
}
.nr-mass-row--summary .nr-text-xs{
  font-size: .95rem;
  opacity: .9;
}

/* Asystent formy: mniej "bento w bento", ale z premium detalem */
.nr-mold-assistant{
  background: linear-gradient(180deg, var(--nr-surface-soft-strong), var(--nr-surface-faint));
  border: 1px solid var(--nr-border-strong-ui);
  border-radius: 16px;
  padding: 12px;
}
.nr-mold-setBtn{
  border-color: var(--nr-border-emphasis);
  background: linear-gradient(180deg, var(--nr-surface-chip-strong), var(--nr-surface-soft-strong));
}
.nr-mold-desc{
  color: var(--nr-text-soft-alpha);
}
.nr-mold-grid .nr-mold-cell{
  min-height: 120px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.nr-mold-grid .nr-mold-cell:hover{
  border-color: var(--nr-border-emphasis);
  background: var(--nr-surface-soft);
  transform: translateY(-1px);
}
.nr-mold-grid .nr-mold-cell.is-best{
  border-color: var(--nr-border-accent-ui);
  background: linear-gradient(180deg, var(--nr-surface-accent-strong), var(--nr-surface-accent));
  box-shadow: var(--nr-shadow-accent-cta);
}
.nr-mold-grid .nr-mold-cell > div{
  line-height: 1.2;
}

/* BHP assistant: semantyczne kolory alarmu */
.nr-alertPulse.is-hot .nr-risk-plan{
  background: linear-gradient(180deg, var(--nr-danger-soft), var(--nr-surface-mask));
  border-color: var(--nr-danger-brd);
}
.nr-alertPulse.is-hot .nr-risk-planTitle{
  color: var(--nr-danger);
}
.nr-alertPulse.is-hot .nr-risk-bhpBadge{
  background: var(--nr-danger-soft);
  border-color: var(--nr-danger-brd);
  color: var(--nr-text-contrast);
}
.nr-alertPulse.is-hot .nr-risk-bullet{
  color: var(--nr-danger);
}

/* Dobierz żywicę: usunięcie "kabli" i bardziej czytelne metryki */
.nr-rec-card-brand,
.nr-rec-card-name,
.nr-rec-card-stats{
  background-image: none;
}
.nr-rec-card-stat-k{
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}
.nr-rec-card-stat-v{
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .02em;
}

/* ===== UI REWORK (main file only) =====
   Goal: less bento, cleaner hierarchy, stable readability
*/
/* .nr-ui-mass — pełna deklaracja skonsolidowana w linii ~7055 niżej */
.nr-ui-mass .nr-mass-row{
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.10);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  margin: 0;
  padding: 10px 0;
}
.nr-ui-mass .nr-mass-row:last-child{
  border-bottom: 0;
  padding-bottom: 0;
}
.nr-ui-mass .nr-mass-row:first-child{
  padding-top: 0;
}

/* Para Żywica + Utwardzacz — desktop = 2 kolumny obok siebie, mobile = stack */
.nr-mass-row-pair{
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.nr-mass-row-pair .nr-mass-row--hero{
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.nr-mass-row-pair .nr-mass-row--hero:last-child{
  border-bottom: 0;
}
@media (min-width: 768px){
  .nr-mass-row-pair{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 16px;
    align-items: stretch;
  }
  .nr-mass-row-pair .nr-mass-row--hero{
    border-bottom: 0;
    padding: 10px 0;
  }
  .nr-mass-row-pair .nr-mass-row--hero + .nr-mass-row--hero{
    border-left: 1px solid rgba(255,255,255,.10);
    padding-left: 16px;
  }
}
.nr-ui-mass .nr-mass-row--summary .nr-tabular-nums{
  font-size: clamp(1.45rem, 1.7vw, 1.85rem);
}
/* Żywica/Utwardzacz (hero) — zmniejszone, spójnie z resztą sekcji */
.nr-ui-mass .nr-mass-row--hero .nr-text-2xl{
  font-size: clamp(1.5rem, 1.75vw, 1.95rem);
}
.nr-ui-mass .nr-mass-row--summary .nr-text-xs{
  font-size: .88rem;
}
.nr-ui-mass .nr-mass-summary-grid{
  gap: 10px;
}

.nr-ui-risk{
  border-radius: 20px;
  padding: 18px;
}
.nr-ui-risk .nr-riskMicro{
  font-size: 16px;
}
.nr-ui-risk .nr-risk-plan{
  border-radius: 14px;
  padding: 14px;
}
.nr-ui-risk .nr-risk-plan ul{
  margin-top: 4px;
}
.nr-ui-risk .nr-risk-plan li{
  line-height: 1.45;
}
.nr-ui-risk .nr-risk-plan .grid{
  gap: 10px;
}
.nr-ui-risk .nr-risk-bhpBadge{
  letter-spacing: .08em;
}

.nr-ui-rec{
  border-radius: 18px;
  padding: 18px;
}
.nr-ui-rec .nr-rec-header{
  margin-bottom: 12px;
}
.nr-ui-rec .nr-rec-podium{
  gap: 12px;
}
.nr-ui-rec .nr-rec-card-stats{
  border-radius: 10px;
}
.nr-ui-rec .nr-rec-project-badge{
  font-size: 10px;
}

/* Stop nested "bento in bento" inside resin cards — explicit child list */
.nr-ui-rec .nr-rec-card .nr-rec-card-brand,
.nr-ui-rec .nr-rec-card .nr-rec-card-name,
.nr-ui-rec .nr-rec-card .nr-rec-card-stats,
.nr-ui-rec .nr-rec-card .nr-rec-card-stat,
.nr-ui-rec .nr-rec-card .nr-rec-card-use,
.nr-ui-rec .nr-rec-card .nr-rec-card-top,
.nr-ui-rec .nr-rec-card .nr-rec-card-features,
.nr-ui-rec .nr-rec-card .nr-rec-card-price,
.nr-ui-rec .nr-rec-card .nr-rec-card-price-v,
.nr-ui-rec .nr-rec-card .nr-rec-card-price-u,
.nr-ui-rec .nr-rec-card .nr-rec-card-price-sub,
.nr-ui-rec .nr-rec-card .nr-rec-card-tip{
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  text-shadow: none;
}
.nr-ui-rec .nr-rec-card{
  padding: 12px;
  border-radius: 28px;
  border: 1px solid var(--nr-border-soft-plus);
  background: var(--nr-gradient-panel);
  box-shadow: var(--nr-shadow-panel);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.nr-ui-rec .nr-rec-card:hover{
  transform: translateY(-2px);
  border-color: var(--nr-border-accent-ui);
}
.nr-finish-podium{
  grid-template-columns: 1fr;
}
@media (min-width: 640px){
  .nr-finish-podium{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 900px){
  .nr-finish-podium{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.nr-ui-rec .nr-rec-card--best{
  border-color: var(--nr-border-accent-soft);
  background: linear-gradient(180deg, var(--nr-surface-accent-cta), var(--nr-surface-accent));
  box-shadow: var(--nr-shadow-accent-cta);
}
.nr-ui-rec .nr-rec-card--best::before{
  content: "NAJLEPSZA";
  top: 12px;
  right: 12px;
  border-radius: 999px;
  padding: 3px 10px;
  border: 1px solid var(--nr-border-accent-ui);
  background: var(--nr-surface-accent-cta);
  color: var(--nr-text-contrast);
  font-size: 9px;
  letter-spacing: .12em;
}
.nr-ui-rec .nr-rec-card-top,
.nr-ui-rec .nr-rec-card-brand,
.nr-ui-rec .nr-rec-card-name,
.nr-ui-rec .nr-rec-card-price,
.nr-ui-rec .nr-rec-card-price-v,
.nr-ui-rec .nr-rec-card-price-u,
.nr-ui-rec .nr-rec-card-price-sub,
.nr-ui-rec .nr-rec-card-features,
.nr-ui-rec .nr-rec-card-features li{
  background: transparent;
  border: 0;
  border-radius: 0;
}
.nr-ui-rec .nr-rec-card-top{
  padding: 6px 8px 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nr-finish-sheen-btn,
.nr-resin-tips-next{
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.nr-finish-natural-kicker{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nr-text-subtle-strong);
  margin-bottom: 8px;
}
.nr-finish-col{
  position: relative;
}
.nr-finish-natural-kicker--top{
  margin: 0 2px 8px;
}
.nr-finish-col.is-natural .nr-finish-natural-kicker--top{
  position: absolute;
  top: -34px;
  left: 2px;
  margin: 0;
}
.nr-finish-sheen-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}
.nr-finish-sheen-label{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nr-text-soft-alpha);
}
.nr-finish-sheen-btn{
  border: 1px solid var(--nr-border-mid);
  background: var(--nr-surface-overlay-soft);
  color: var(--nr-text-soft-alpha);
  letter-spacing: .08em;
}
.nr-finish-sheen-btn.is-active{
  border-color: var(--nr-info-brd);
  background: var(--nr-info-soft);
  color: var(--nr-info);
}
.nr-finish-sheen-btn:disabled{
  opacity: .45;
  cursor: not-allowed;
  filter: grayscale(.15);
}
.nr-ui-rec .nr-rec-card-brand{
  display: inline-flex;
  width: auto;
  margin-bottom: 2px;
  padding: 0;
  color: var(--nr-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}
.nr-ui-rec .nr-rec-card-name{
  margin-bottom: 4px;
  font-size: 20px;
  line-height: 1.2;
  color: var(--nr-text);
  padding: 0;
}
.nr-ui-rec .nr-rec-card-price{
  display: grid;
  grid-template-columns: max-content max-content;
  align-items: end;
  justify-content: start;
  column-gap: 8px;
  min-height: 56px;
  line-height: 1;
  padding: 0;
}
.nr-ui-rec .nr-rec-card-price-v{
  font-size: 48px;
  font-weight: 900;
  line-height: .9;
  font-variant-numeric: tabular-nums;
  min-width: 1.6ch;
  text-align: right;
  letter-spacing: -.03em;
  color: var(--nr-text);
  padding: 0;
}
.nr-ui-rec .nr-rec-card-price-u{
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 .16em 0;
  align-self: end;
  color: var(--nr-text-soft-alpha);
  padding: 0;
}
.nr-ui-rec .nr-rec-card-price-sub{
  margin-top: 2px;
  font-size: 12px;
  font-weight: 600;
  color: var(--nr-muted);
  padding: 0;
}
.nr-ui-rec .nr-rec-card-features{
  list-style: none;
  margin: 0;
  padding: 2px 8px 0;
  display: grid;
  gap: 8px;
}
.nr-ui-rec .nr-rec-card-features li{
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  color: var(--nr-text-soft-alpha);
  line-height: 1.35;
}
.nr-ui-rec .nr-rec-card-features li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  color: var(--nr-info);
  font-weight: 800;
  font-size: 18px;
}
.nr-ui-rec .nr-rec-card-use{
  margin-top: auto;
  height: 44px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .08em;
  border: 1px solid var(--nr-border-mid);
  background: var(--nr-gradient-panel);
  color: var(--nr-text);
}
.nr-ui-rec .nr-rec-card-use:hover{
  background: var(--nr-surface-overlay-strong);
  border-color: var(--nr-border-accent-ui);
}
.nr-ui-rec .nr-rec-card--best .nr-rec-card-use{
  background: var(--nr-gradient-accent-cta);
  color: var(--nr-text-contrast);
  border-color: var(--nr-border-accent-strong);
}
.nr-ui-rec .nr-rec-card-tip{
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  border:1px solid var(--nr-info-brd);
  background:var(--nr-info-soft);
  font-size:12px;
  line-height:1.4;
  color:var(--nr-info);
}
.nr-finish-tips{
  margin-top: 10px;
  display: grid;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  max-width: none;
}
.nr-finish-tips-title{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255,255,255,.7);
  margin: 0;
}
.nr-finish-tips-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.nr-finish-tip-pill{
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 11px;
  border-radius: 999px;
  border: 1px solid var(--nr-border-emphasis);
  background: var(--nr-surface-soft-strong);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: var(--nr-text);
}
.nr-finish-extra-tips-list{
  margin: 2px 0 0;
  padding-left: 18px;
  display: grid;
  gap: 5px;
}
.nr-finish-extra-tips-list li{
  font-size: 12px;
  line-height: 1.45;
  color: rgba(255,255,255,.78);
}
.nr-selected-resin-tips{
  width:100%;
  min-width:0;
  padding:16px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:rgba(14,16,20,.76);
  box-shadow:none;
  overflow:hidden;
}
.nr-selected-resin-tips__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nr-selected-resin-tips__titleblock{
  min-width:0;
}
.nr-selected-resin-tips__kicker,
.nr-selected-resin-tip__num{
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nr-selected-resin-tips__kicker{
  margin-bottom:6px;
  color:rgba(194,106,97,.84);
}
.nr-selected-resin-tips__title{
  margin:0;
  color:rgba(244,242,238,.96);
  font-size:18px;
  font-weight:850;
  line-height:1.18;
  letter-spacing:0;
}
.nr-selected-resin-tips__meta{
  margin:5px 0 0;
  color:rgba(228,225,219,.54);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.nr-selected-resin-tips__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  flex-shrink:0;
}
.nr-selected-resin-tips__btn{
  min-height:36px;
  padding:0 13px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:rgba(242,239,233,.86);
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.nr-selected-resin-tips__btn:hover{
  border-color:rgba(242,239,233,.24);
  background:rgba(255,255,255,.065);
  color:#fff;
  transform:translateY(-1px);
}
.nr-selected-resin-tips__btn--next{
  border-color:rgba(194,106,97,.24);
  background:rgba(194,106,97,.075);
}
.nr-selected-resin-tips__viewport{
  width:100%;
  overflow:hidden;
  mask-image:linear-gradient(90deg,#000 0%,#000 96%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 96%,transparent 100%);
}
.nr-selected-resin-tips__track{
  display:flex;
  gap:var(--nr-tip-gap, 12px);
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  padding:1px 0 2px;
}
.nr-selected-resin-tips__track::-webkit-scrollbar{
  display:none;
}
.nr-selected-resin-tip{
  flex:0 0 var(--nr-tip-card-basis, 320px);
  min-width:var(--nr-tip-card-basis, 320px);
  max-width:var(--nr-tip-card-basis, 320px);
  min-height:132px;
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.026);
  display:grid;
  align-content:start;
  gap:10px;
  scroll-snap-align:start;
}
.nr-selected-resin-tip__num{
  width:max-content;
  padding-bottom:7px;
  color:rgba(228,225,219,.48);
  border-bottom:1px solid rgba(194,106,97,.32);
}
.nr-selected-resin-tip__copy{
  margin:0;
  color:rgba(244,242,238,.9);
  font-size:13px;
  font-weight:720;
  line-height:1.38;
}
.nr-selected-resin-tip__chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:auto;
}
.nr-selected-resin-tip__chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:rgba(228,225,219,.64);
  font-size:10px;
  font-weight:750;
  line-height:1;
}
.nr-selected-resin-tip__foot{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.07);
  color:rgba(228,225,219,.45);
  font-size:10px;
  font-weight:700;
  line-height:1.25;
}
.nr-selected-resin-tip__foot span{
  max-width:58%;
}
.nr-selected-resin-tip__foot strong{
  max-width:42%;
  color:rgba(244,242,238,.84);
  font-size:11px;
  font-weight:850;
  text-align:right;
}
@media (max-width: 639px){
  .nr-selected-resin-tips{
    padding:13px;
    border-radius:16px;
  }
  .nr-selected-resin-tips__head{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }
  .nr-selected-resin-tips__actions{
    justify-content:stretch;
  }
  .nr-selected-resin-tips__btn{
    flex:1 1 0;
    min-width:0;
  }
  .nr-selected-resin-tips__viewport{
    mask-image:none;
    -webkit-mask-image:none;
  }
  .nr-selected-resin-tip{
    min-height:136px;
    padding:12px;
  }
  .nr-selected-resin-tip__copy{
    font-size:12px;
  }
}
@media (max-width:980px){
  .nr-tech-strip{
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "left main"
      "stats stats";
    align-items:start;
    gap:10px 12px;
    padding:10px 14px;
    overflow-x:hidden;
    white-space:normal;
  }
  .nr-tech-strip-left{
    grid-area:left;
    height:30px;
    min-width:22px;
  }
  .nr-tech-strip-version{font-size:12px}
  .nr-tech-strip-dots{font-size:10px}
  .nr-tech-strip-graphic{
    display:none;
  }
  .nr-tech-strip-main{
    grid-area:main;
    min-width:0;
    width:100%;
    gap:2px;
  }
  .nr-tech-strip-line{
    display:block;
    line-height:1.28;
  }
  .nr-tech-strip-line.is-primary{font-size:11px}
  .nr-tech-strip-line.is-secondary{font-size:9px}
  .nr-tech-strip-line.is-tertiary{font-size:8px}
  .nr-tech-strip-circle{margin-left:4px}
  .nr-tech-strip-arrow{margin:0 4px}
  .nr-tech-strip-stats{
    grid-area:stats;
    min-width:0;
    width:100%;
    padding-left:0;
    padding-top:8px;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.10);
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:8px;
  }
  .nr-tech-strip-stat-row{
    gap:6px;
    justify-content:flex-start;
    min-width:0;
  }
  .nr-tech-strip-stat-val{
    width:auto;
    min-width:0;
    text-align:left;
    font-size:11px;
  }
  .nr-tech-strip-stat-label{
    font-size:9px;
    min-width:0;
  }
}
@media (max-width:640px){
  .nr-tech-strip{
    padding:10px 12px;
  }
}
@media (max-width:420px){
  .nr-tech-strip{
    gap:8px 10px;
    padding:9px 10px;
  }
  .nr-tech-strip-line.is-primary{font-size:10px}
  .nr-tech-strip-line.is-secondary{font-size:8px}
  .nr-tech-strip-line.is-tertiary{font-size:7px}
  .nr-tech-strip-stats{
    grid-template-columns:1fr;
    gap:6px;
  }
}
.nr-resin-tips-modal{
  position:fixed;
  inset:0;
  z-index:var(--nr-z-modal-raised);
  background:rgba(2,6,12,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.nr-resin-tips-modal-card{
  width:min(840px, 100%);
  max-height:min(82vh, 720px);
  overflow:auto;
  border-radius:18px;
  border:1px solid rgba(126,196,184,.28);
  background:linear-gradient(180deg, rgba(7,11,18,.98), rgba(4,7,12,.98));
  padding:14px 16px 16px;
}
.nr-resin-tips-modal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.nr-resin-tips-modal-kicker{
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:rgba(150,172,210,.78);
}
.nr-resin-tips-modal-title{
  margin-top:3px;
  font-size:16px;
  font-weight:900;
  color:#eaf0f7;
}
.nr-resin-tips-modal-close{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid var(--nr-border-emphasis);
  background:var(--nr-surface-chip);
  color:var(--nr-text);
  font-weight:900;
}
.nr-resin-tips-modal-list{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:8px;
}
.nr-resin-tips-modal-list li{
  font-size:14px;
  line-height:1.5;
  color:rgba(234,240,247,.9);
}
@media (max-width: 639px){
  .nr-card-peek{
    display:flex;
    gap:10px;
    overflow-x:auto;
    overflow-y:visible;
    scroll-snap-type:x mandatory;
    /* większy padding-bottom + margin — cień karty --best (0 18px 40px) nie rozlewa się na opisy poniżej */
    padding-bottom:16px;
    margin-bottom:8px;
    -webkit-overflow-scrolling:touch;
  }
  .nr-card-peek > *{
    flex:0 0 calc(100% - 52px);
    min-width:calc(100% - 52px);
    scroll-snap-align:start;
  }
  .nr-card-peek .nr-rec-card{
    height:100%;
  }
  /* Łagodniejszy cień na "Najlepszej" karcie na mobile — desktop'owy 0 18px 40px za mocno wycieka w kolejną sekcję */
  .nr-card-peek .nr-rec-card--best{
    box-shadow:0 6px 16px rgba(199,92,74,.20);
  }
}
@media (min-width: 640px){
  .nr-card-peek{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  .nr-card-peek::-webkit-scrollbar{
    display:none;
  }
}

@media (max-width: 900px){
  .nr-ui-rec .nr-rec-card-name{
    font-size: 18px;
  }
  .nr-ui-rec .nr-rec-card-price-v{
    font-size: 40px;
  }
  .nr-ui-rec .nr-rec-card-price-u{
    font-size: 18px;
    margin: 0 0 .16em 0;
  }
}

@media (max-width: 900px){
  .nr-ui-risk{
    padding: 14px;
  }
  .nr-ui-rec{
    padding: 14px;
  }
}

/* System UI Layer */
/* System UI tune-up */
:root{
  --nr-cta-h: 46px;
}

/* 1) CTA: 2 variants + one size */
.nr-rec-btn,
.nr-rec-card-use,
.nr-cta-btn{
  height: var(--nr-cta-h);
  border-radius: var(--radius-md);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
}
/* Keep recommendation CTA in one horizontal row (icon + label). */
.nr-rec-btn{
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  line-height: 1;
  align-self: center;
}
.nr-cta-btn--primary{
  background: linear-gradient(180deg, rgba(194,106,97,.18), rgba(96,42,39,.22));
  color: #d89a92;
  border: 1px solid rgba(194,106,97,.44);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.nr-cta-btn--primary:hover{
  background: linear-gradient(180deg, rgba(194,106,97,.26), rgba(126,54,50,.30));
  color: #f3c2ba;
  border-color: rgba(194,106,97,.68);
}
.nr-cta-btn--secondary{
  background: rgba(255,255,255,.025);
  color: rgba(234,240,247,.68);
  border: 1px solid rgba(255,255,255,.16);
}
.nr-cta-btn--secondary:hover{
  background: rgba(194,106,97,.07);
  color: #ead6d2;
  border-color: rgba(194,106,97,.32);
}

/* 3) Radius system — single source of truth via CSS vars */
.nr-radius-sm{ border-radius: var(--radius-sm); }
.nr-radius-md{ border-radius: var(--radius-md); }
.nr-radius-lg{ border-radius: var(--radius-lg); }
.nr-radius-xl{ border-radius: var(--radius-xl); }

.nr-ui-rec .nr-rec-card,
.nr-ui-rec .nr-rec-card-top{
  border-color: rgba(255,255,255,.08);
}

/* 5) Mobile hit-area */
@media (max-width: 768px){
  .nr-seg-btn,
  .nr-ai-tb-btn,
  .nr-rec-btn,
  .nr-rec-card-use,
  .nr-cta-btn{
    min-height: 44px;
  }
  input[type="range"]{
    min-height: 44px;
  }
}

/* AI status badge */
/* Toast/powiadomienie ("AI włączony", "Asystent warstw") — czysty biały "pill":
   mocno zaokrąglony, miękki cień, kolorowa kropka statusu, animacja wejścia.
   Jeden styl dla obu motywów (biały pill dobrze wygląda i na ciemnym, i na jasnym tle). */
.nr-ai-status{
  position: fixed;
  top: 90px;
  left: 0;
  right: 0;
  margin-inline: auto;
  width: max-content;
  max-width: calc(100vw - 24px);
  z-index: var(--nr-z-status);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 16px 7px 7px;
  border-radius: 14px;
  border: 1px solid rgba(15,18,20,.07);
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(15,18,20,.16), 0 2px 6px rgba(15,18,20,.08);
  font-family: 'Sora','Inter',sans-serif;
  animation: nrToastIn .3s cubic-bezier(.2,.9,.25,1);
}
/* mały kafelek z ikoną (mini-grafika) — kolor zależny od statusu, biała ikona */
.nr-ai-status-ico{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  flex: 0 0 auto;
  color: #ffffff;
  background: #9aa0a6;
}
.nr-ai-status-ico svg{ display: block; }
.nr-ai-status-txt{
  font-size: 13px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #1c1e20;
  white-space: nowrap;
}
.nr-ai-status--loading .nr-ai-status-ico{ background:#eaa100; }
.nr-ai-status--success .nr-ai-status-ico{ background:#2ecc71; }
.nr-ai-status--error   .nr-ai-status-ico{ background:#ff4d3d; }
.nr-ai-status--loading .nr-ai-status-ico svg{ animation: nrSpin .9s linear infinite; }
@keyframes nrSpin{ to{ transform: rotate(360deg); } }
@keyframes nrToastIn{ from{ opacity:0; transform:translateY(-8px) scale(.96); } to{ opacity:1; transform:translateY(0) scale(1); } }

@media (max-width: 768px){
  .nr-ai-status{
    top: 74px;
    max-width: calc(100vw - 20px);
  }
  .nr-ai-status-txt{ overflow: hidden; text-overflow: ellipsis; }
}

.text-\[\#5ba89e\]{
  color: var(--nr-info);
}

/* Export row: default grid, compact variant for PDF + Studio */
@media (max-width: 980px){
  .nr-export-row{
    grid-template-columns: repeat(2, minmax(140px, 260px));
    justify-content: center;
    gap: 8px;
    margin-inline: auto;
  }
  .nr-export-btn{
    height: 42px;
    font-size: 12px;
    letter-spacing: .05em;
  }
}
@media (max-width: 560px){
  .nr-export-row.nr-export-row--compact{
    grid-template-columns: 1fr;
    max-width: none;
  }
}

/* Mobile: values in mass summary must never be clipped */
.nr-ui-mass .nr-mass-row--summary .break-all{
  word-break: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 768px){
  .nr-ui-mass .nr-mass-row--summary .nr-tabular-nums{
    font-size: clamp(1.25rem, 6vw, 1.6rem);
    line-height: 1.02;
    letter-spacing: -.01em;
  }
  .nr-ui-mass .nr-mass-row--summary .nr-text-xs{
    font-size: .88rem;
  }
}

/* Layout reorder: full-width visual -> resin table -> 3 supporting cards */
.nr-layout-visual{ order: -50; }
.nr-layout-resin{ order: -49; }
/* Krótkie wprowadzenie do wyboru żywicy — editorial, bez szerokiego wyśrodkowanego bloku. */
.nr-resin-motto{
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr);
  align-items:start;
  gap:clamp(24px,4vw,64px);
  margin:8px 0 12px;
  padding:clamp(22px,3vw,34px) 0;
  border-top:1px solid var(--nr-border-soft-ui);
  border-bottom:1px solid var(--nr-border-soft-ui);
  color:var(--nr-text-soft-alpha);
  text-align:left;
}
.nr-resin-motto__hl{
  display:block;
  color: var(--nr-accent);
  font-size:clamp(22px,2.2vw,34px);
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.05;
}
.nr-resin-motto__copy{
  display:block;
  max-width:52ch;
  color:var(--nr-text-soft-alpha);
  font-size:clamp(16px,1.5vw,21px);
  font-weight:720;
  letter-spacing:-.015em;
  line-height:1.42;
  text-wrap:pretty;
}
/* embed (jasny motyw): kremowy tekst byłby niewidoczny — ciemny */
html.nr-embed .nr-resin-motto{ color: #2a2a28; }
html.nr-embed .nr-resin-motto__copy{ color:#2a2a28; }
@media (max-width:820px){
  .nr-resin-motto{
    grid-template-columns:1fr;
    gap:12px;
    padding:20px 0;
  }
  .nr-resin-motto__copy{font-size:15px;}
}
.nr-layout-mass{ order: -48; }
.nr-layout-mold{ order: -47; }
.nr-layout-conditions{ order: -46; }

/* Wide resin section in table style */
.nr-layout-resin .nr-scrollfade-box{
  background: transparent;
  border: 1px solid var(--nr-border-strong-ui);
  border-radius: 14px;
  overflow: hidden;
}
.nr-layout-resin .nr-scrollfade-box::after{
  display: none;
}
.nr-layout-resin .nr-resin-rows{
  max-height: 260px;
  overflow-y: auto;
}
/* Gdy nieaktywna (overlay "Wybierz żywicę by zacząć") — wyłącz wewnętrzny scroll,
   żeby touch swipe scrollował stronę zamiast listy pod mgłą. */
.nr-layout-resin .nr-resin-rows.is-locked{
  overflow-y: hidden;
  touch-action: pan-y;
  pointer-events: none;
}
.nr-layout-resin .nr-resin-rows::-webkit-scrollbar{
  width: 8px;
}
.nr-layout-resin .nr-resin-rows::-webkit-scrollbar-thumb{
  background: var(--nr-border-emphasis);
  border-radius: 999px;
}
.nr-layout-resin .nr-resin-controls{
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 8px;
  margin-bottom: 10px;
  align-items: center;
}
.nr-layout-resin .nr-resin-controls.has-open-dropdown{
  position: relative;
  z-index: var(--nr-z-dropdown);
  overflow: visible;
}
.nr-layout-resin .nr-resin-controls-source{
  min-width: 0;
}
.nr-layout-resin .nr-resin-type-filters{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin: 0;
  justify-content:flex-start;
  align-items:center;
  min-width: 0;
  overflow-x: auto;
  flex-shrink: 0;
}
.nr-layout-resin .nr-resin-type-filter{
  appearance:none;
  cursor:pointer;
  transition: transform .08s ease, box-shadow .14s ease, border-color .14s ease, background-color .14s ease, opacity .14s ease;
}
.nr-layout-resin .nr-resin-type-filter:active{
  transform: translateY(1px);
}
.nr-layout-resin .nr-resin-type-filter.is-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  max-width: 100%;
  border-radius:999px;
  border:1px solid var(--nr-border-strong-ui);
  background:var(--nr-surface-control-idle);
  color:var(--nr-text-subtle-strong);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1;
  white-space:nowrap;
}
.nr-layout-resin .nr-resin-controls > *{
  min-width: 0;
}
.nr-layout-resin .nr-fancy-select-trigger span:first-child{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nr-layout-resin .nr-resin-type-filter:not(.is-active){
  opacity:.94;
}
.nr-layout-resin .nr-resin-type-filter.is-active{
  box-shadow: 0 0 0 1px var(--nr-border-faint) inset, var(--nr-shadow-utility-lg);
  opacity:1;
}
.nr-layout-resin .nr-resin-type-filter.is-all.is-active{
  border-color: var(--nr-info-brd);
  background: var(--nr-info-soft);
  color: var(--nr-info);
}
.nr-layout-resin .nr-resin-source-toggle{
  width: auto;
  margin: 0;
  padding: 4px;
  gap: 4px;
  grid-template-columns: max-content max-content;
  border-radius: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

#root :is(.nr-layout-resin, .nr-layout-conditions, .nr-layout-wood, .nr-layout-mold) .nr-bg-white,
#root :is(.nr-layout-resin, .nr-layout-conditions, .nr-layout-wood, .nr-layout-mold) a.nr-bg-white{
  background:var(--nr-surface-chip-strong);
  border-color:var(--nr-border-emphasis);
  color:var(--nr-text);
  box-shadow:inset 0 1px 0 var(--nr-border-faint);
}

#root :is(.nr-layout-resin, .nr-layout-conditions, .nr-layout-wood, .nr-layout-mold) .nr-hover-zinc:hover{
  background:var(--nr-surface-hover);
  color:var(--nr-text);
}

.nr-layout-resin .nr-resin-controls .nr-resin-source-toggle{
  min-width: 0;
}
.nr-layout-resin .nr-resin-source-toggle .nr-seg-btn{
  height: 32px;
  border-radius: var(--radius-sm); /* 10px — spójnie z inputami w tej sekcji */
  font-size: 10px;
  letter-spacing: .02em;
  padding: 0 14px;
  min-width: 0;
  white-space: nowrap;
}
.nr-layout-resin .nr-resin-controls input,
.nr-layout-resin .nr-resin-controls select{
  height: 34px;
  border: 1px solid var(--nr-control-border-dark);
  border-radius: var(--radius-sm);
  background: var(--nr-control-bg-dark);
  color: var(--nr-control-text-soft);
  font-size: 12px;
  font-weight: 700;
  padding: 0 10px;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.nr-layout-resin .nr-resin-controls input:focus-visible,
.nr-layout-resin .nr-resin-controls select:focus-visible{
  outline: none;
  border-color: var(--nr-border-accent-strong);
  box-shadow: 0 0 0 2px var(--nr-border-accent-ui);
}
.nr-layout-resin .nr-resin-search-input{
  min-width:0;
}
.nr-layout-resin .nr-fancy-select{
  position: relative;
  min-width: 0;
}
.nr-layout-resin .nr-fancy-select.is-open{
  z-index: calc(var(--nr-z-dropdown) + 1);
}
.nr-layout-resin .nr-fancy-select-trigger{
  width: 100%;
  height: 34px;
  border: 1px solid var(--nr-control-border-dark);
  border-radius: var(--radius-sm);
  background: var(--nr-control-bg-dark);
  color: var(--nr-control-text-soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  cursor: pointer;
  text-align: left;
  transition: border-color .14s ease, box-shadow .14s ease, transform .08s ease;
}
.nr-layout-resin .nr-fancy-select-trigger:hover{
  border-color: var(--nr-border-stronger);
  box-shadow: var(--nr-shadow-inset-ui);
}
.nr-layout-resin .nr-fancy-select-trigger:focus-visible{
  outline: 2px solid var(--nr-border-accent-strong);
  outline-offset: 2px;
  border-color: var(--nr-border-accent-strong);
}
.nr-layout-resin .nr-fancy-select.is-open .nr-fancy-select-trigger{
  border-color: var(--nr-border-accent-strong);
  box-shadow: 0 0 0 1px var(--nr-border-accent-ui), var(--nr-shadow-utility-lg);
}
.nr-layout-resin .nr-fancy-select-caret{
  font-size: 12px;
  line-height: 1;
  color: var(--nr-control-text-dim);
  transition: transform .16s ease;
}
.nr-layout-resin .nr-fancy-select.is-open .nr-fancy-select-caret{
  transform: rotate(180deg);
}
.nr-layout-resin .nr-fancy-select-menu{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 6px);
  max-height: 280px;
  overflow: auto;
  z-index: calc(var(--nr-z-dropdown) + 2);
  border: 1px solid var(--nr-control-border-dark);
  border-radius: var(--radius-sm);
  background: var(--nr-surface-elevated);
  box-shadow: var(--nr-shadow-dropdown), 0 0 0 1px var(--nr-surface-faint) inset;
  padding: 6px;
}
.nr-layout-resin .nr-fancy-select-menu::-webkit-scrollbar{
  width: 8px;
}
.nr-layout-resin .nr-fancy-select-menu::-webkit-scrollbar-thumb{
  background: var(--nr-control-text-faint);
  border-radius: 999px;
}
.nr-layout-resin .nr-fancy-select-option{
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--nr-control-text-soft);
  font-size: 13px;
  font-weight: 700;
  padding: 9px 10px;
  border-radius: var(--radius-sm);
  text-align: left;
  cursor: pointer;
  transition: background .12s ease, color .12s ease;
}
.nr-layout-resin .nr-fancy-select-option:hover,
.nr-layout-resin .nr-fancy-select-option:focus-visible{
  background: var(--nr-surface-accent-cta);
  color: var(--nr-text-contrast);
  outline: none;
}
.nr-layout-resin .nr-fancy-select-option.is-active{
  background: var(--nr-surface-accent-strong);
  color: var(--nr-text-contrast);
  box-shadow: 0 0 0 1px var(--nr-border-accent-ui) inset;
}
.nr-layout-resin .nr-resin-controls input::placeholder{
  color: var(--nr-control-text-faint);
}
.nr-layout-resin .nr-resin-table-head{
  display: grid;
  grid-template-columns: 1.92fr .56fr .56fr .84fr .62fr;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid var(--nr-border-strong-ui);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--nr-control-text-faint);
}
.nr-layout-resin .nr-resin-table-head > *{
  position: relative;
  min-width: 0;
  padding-inline: 10px;
}
.nr-layout-resin .nr-resin-table-head > :not(:last-child)::after{
  content: "";
  position: absolute;
  top: -10px;
  bottom: -10px;
  right: -4px;
  width: 1px;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
      var(--nr-border-strong-ui) 12%,
      var(--nr-border-strong-ui) 88%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
}
.nr-layout-resin .nr-resin-row{
  width: 100%;
  display: grid;
  grid-template-columns: 1.92fr .56fr .56fr .84fr .62fr;
  gap: 8px;
  align-items: center;
  min-height: 52px;
  padding: 8px 12px;
  border: 0;
  border-bottom: 1px solid var(--nr-border-faint);
  border-radius: 0;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  transition: box-shadow .18s ease, border-color .18s ease, background-color .18s ease;
}
.nr-layout-resin .nr-resin-row:focus-visible{
  outline: 2px solid var(--nr-border-accent-strong);
  outline-offset: -2px;
  background-color: var(--nr-surface-accent-cta);
}
.nr-layout-resin .nr-resin-row > *{
  position: relative;
  min-width: 0;
  padding-inline: 10px;
}
.nr-layout-resin .nr-resin-row > :not(:last-child)::after{
  content: "";
  position: absolute;
  top: -8px;
  bottom: -8px;
  right: -4px;
  width: 1px;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
      var(--nr-border-faint) 14%,
      var(--nr-border-faint) 86%,
    rgba(255,255,255,0) 100%
  );
  pointer-events: none;
}
.nr-layout-resin .nr-resin-row::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background: radial-gradient(180px circle at var(--mx, 50%) var(--my, 50%), var(--nr-surface-accent-cta), transparent 72%);
  transition: opacity .16s ease;
}
.nr-layout-resin .nr-resin-row::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  border-top: 1px solid var(--nr-border-faint);
  border-bottom: 1px solid var(--nr-border-strong-ui);
  transition: opacity .16s ease;
}
@media (hover: hover) and (pointer: fine){
  .nr-layout-resin .nr-resin-row:hover{
    box-shadow: var(--nr-shadow-utility-lg), inset 0 1px 0 var(--nr-border-faint);
    border-bottom-color: var(--nr-border-emphasis);
  }
  .nr-layout-resin .nr-resin-row:hover > :not(:last-child)::after{
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      var(--nr-border-emphasis) 12%,
      var(--nr-border-emphasis) 88%,
      rgba(255,255,255,0) 100%
    );
  }
  .nr-layout-resin .nr-resin-row:hover::before,
  .nr-layout-resin .nr-resin-row:hover::after{
    opacity: 1;
  }
}
.nr-layout-resin .nr-resin-row:last-child{
  border-bottom: 0;
}
.nr-layout-resin .nr-resin-row.is-pending > *{
  filter: blur(5px);
  opacity: .42;
  pointer-events: none;
  user-select: none;
}
.nr-layout-resin .nr-resin-row.is-pending > :first-child{
  filter: none;
  opacity: 1;
  pointer-events: none;
  user-select: none;
  position: relative;
  z-index: 2;
}
.nr-layout-resin .nr-resin-row.is-pending > :not(:first-child){
  filter: blur(5px);
  opacity: .42;
  pointer-events: none;
  user-select: none;
}
.nr-layout-resin .nr-resin-row.is-pending::before{
  opacity: 0;
}
.nr-layout-resin .nr-resin-row.is-pending::after{
  content: attr(data-pending-message);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: clamp(268px, 36%, 520px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 26px;
  text-align: center;
  pointer-events: none;
  opacity: 1;
  color: var(--nr-text);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
  background:
    linear-gradient(90deg,
      rgba(17,18,20,0) 0%,
      rgba(17,18,20,.08) 8%,
      rgba(17,18,20,.22) 16%,
      rgba(17,18,20,.38) 28%,
      rgba(17,18,20,.52) 100%
    ),
    linear-gradient(180deg, var(--nr-surface-overlay-soft), var(--nr-surface-chip));
  text-shadow: 0 1px 16px rgba(0,0,0,.55);
}
.nr-layout-resin .nr-resin-row.is-pending:hover{
  box-shadow: none;
  border-bottom-color: rgba(255,255,255,.08);
}
.nr-layout-resin .nr-resin-name{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nr-layout-resin .nr-resin-name__text{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nr-layout-resin .nr-resin-badges{
  display:inline-flex;
  align-items:center;
  gap:5px;
  max-width:100%;
  min-width:0;
  flex:0 1 auto;
  white-space:nowrap;
}
.nr-layout-resin .nr-tds-pill{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  height:18px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid var(--nr-border-strong-ui);
  background:var(--nr-surface-chip);
  color:var(--nr-text-muted-alpha);
  font-size:9px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
  vertical-align:middle;
  white-space:nowrap;
  overflow:visible;
}
.nr-layout-resin .nr-warn-pill{
  display:inline-flex;
  align-items:center;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid var(--nr-warning-brd);
  background:var(--nr-warning-soft);
  color:var(--nr-warning);
  font-size:11px;
  font-weight:900;
  vertical-align:middle;
  white-space:nowrap;
  cursor:default;
  line-height:1;
}
.nr-layout-resin .nr-tips-pill{
  display:inline-flex;
  align-items:center;
  height:18px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid var(--nr-info-brd);
  background:var(--nr-info-soft);
  color:var(--nr-info);
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  vertical-align:middle;
  white-space:nowrap;
}
.nr-layout-resin .nr-resin-cell{
  font-size: 12px;
  font-weight: 700;
  color: var(--nr-text-soft-alpha);
  font-variant-numeric: tabular-nums;
}
.nr-layout-resin .nr-resin-cell.is-warn{
  color: var(--nr-warning);
}
.nr-layout-resin .nr-resin-cell.is-ok{
  color: var(--nr-success);
}
.nr-layout-resin .nr-resin-type-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  padding:0 14px;
  border-radius:var(--radius-sm);
  border:1px solid var(--nr-border-strong-ui);
  background:var(--nr-surface-chip);
  font-size: clamp(10px, 0.72vw, 12px);
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  line-height:1;
  white-space:nowrap;
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill{
  min-height:36px;
  padding:0 14px;
  border-radius:var(--radius-sm);
  font-size: clamp(10px, 0.72vw, 12px);
  letter-spacing:.12em;
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-art{
  color:var(--nr-accent-soft);
  border-color:var(--nr-border-accent-ui);
  background:var(--nr-surface-accent);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-table{
  color:var(--nr-info);
  border-color:var(--nr-info-brd);
  background:var(--nr-info-soft);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-deep{
  color:var(--nr-danger);
  border-color:var(--nr-danger-brd);
  background:var(--nr-danger-soft);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-active{
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(255,255,255,.03),
    0 8px 18px rgba(0,0,0,.18);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-art.is-active{
  color:#ddbaff;
  border-color:rgba(177,103,255,.52);
  background:rgba(82,34,130,.34);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(177,103,255,.16),
    0 10px 22px rgba(60,24,98,.28);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-table.is-active{
  color:#b9ece6;
  border-color:rgba(79,166,162,.50);
  background:rgba(24,82,82,.34);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(79,166,162,.16),
    0 10px 22px rgba(18,66,66,.26);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill.is-deep.is-active{
  color:var(--nr-danger);
  border-color:var(--nr-danger-brd);
  background:var(--nr-danger-soft);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(227,140,134,.16),
    0 10px 22px rgba(85,38,38,.28);
}
.nr-layout-resin .nr-resin-controls-types .nr-resin-type-filter:not(.is-active).nr-resin-type-pill{
  box-shadow:none;
}
.nr-layout-resin .nr-resin-type-pill.is-art{
  color:var(--nr-accent-soft);
  border-color:var(--nr-border-accent-ui);
  background:var(--nr-surface-accent);
}
.nr-layout-resin .nr-resin-type-pill.is-table{
  color:var(--nr-info);
  border-color:var(--nr-info-brd);
  background:var(--nr-info-soft);
}
.nr-layout-resin .nr-resin-type-pill.is-deep{
  color:var(--nr-danger);
  border-color:var(--nr-danger-brd);
  background:var(--nr-danger-soft);
}
.nr-layout-resin .nr-resin-type-pill.is-uv{
  color:var(--nr-warning);
  border-color:var(--nr-warning-brd);
  background:var(--nr-warning-soft);
}
.nr-layout-resin .nr-resin-type-pill.is-other{
  color:var(--nr-text-subtle-strong);
  border-color:var(--nr-border-strong-ui);
  background:var(--nr-surface-chip);
}
.nr-layout-resin .nr-resin-pick{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  min-width: 98px;
  padding: 0 12px;
  line-height: 1;
  text-align: center;
  border-radius: 999px;
  border: 1px solid rgba(148,163,184,.34);
  background: rgba(10,14,20,.8);
  color: #eaf0fa;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  justify-self: end;
  white-space: nowrap;
}
.nr-layout-resin .nr-resin-action-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}
.nr-layout-resin .nr-resin-tips-btn{
  height:26px;
  min-width:56px;
  padding:0 9px;
  border-radius:999px;
  border:1px solid rgba(126,196,184,.34);
  background:rgba(14,33,31,.66);
  color:#9ad4ce;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.nr-layout-resin .nr-tips-pill,
.nr-layout-resin .nr-resin-tips-btn{
  display:none;
}
.nr-layout-resin .nr-resin-row.is-active .nr-resin-pick{
  background: var(--nr-accent);
  border-color: var(--nr-border-accent-strong);
  color: var(--nr-text-contrast);
}
/* Wybór kliknięciem w cały wiersz (przycisk Wybierz usunięty) */
.nr-layout-resin .nr-resin-row{ cursor: pointer; }
.nr-layout-resin .nr-resin-row.is-pending{ cursor: default; }
.nr-layout-resin .nr-resin-row:focus-visible{
  outline: 2px solid var(--nr-border-accent-ui);
  outline-offset: -2px;
}
/* Plakietka "✓ Wybrana" w aktywnym wierszu — wygląd jak dawny aktywny przycisk, ale nieklikalna */
.nr-layout-resin .nr-resin-picked{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 28px;
  min-width: 98px;
  padding: 0 12px;
  line-height: 1;
  border-radius: 999px;
  border: 1px solid var(--nr-border-accent-strong);
  background: var(--nr-accent);
  color: var(--nr-text-contrast);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}
html[lang="en"] .nr-ui-rec .nr-rec-card--best::before{
  content: "BEST";
}

/* "Kup teraz" — inline w wierszu aktywnej żywicy.
   Spójny styl pill jak resin-pick / tips-btn, w accent (coral) z mini strzałką. */
.nr-inline-buy{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  height: 26px;
  min-width: 88px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(194,106,97,.45);
  background: rgba(194,106,97,.10);
  color: var(--nr-accent-soft, #d68a7f);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease, border-color .15s ease, transform .12s ease;
}
.nr-inline-buy::after{
  content: "→";
  display: inline-block;
  font-size: 11px;
  opacity: .8;
  transition: transform .15s ease;
}
.nr-inline-buy:hover{
  background: var(--nr-accent);
  color: #fff;
  border-color: var(--nr-accent);
  transform: translateY(-1px);
}
.nr-inline-buy:hover::after{
  transform: translateX(2px);
  opacity: 1;
}
.nr-inline-buy:active{ transform: translateY(0); }

/* ═══════════════════════════════════════════════
   NRAuthModal — login required + AI consent modal
   ═══════════════════════════════════════════════ */
.nr-auth-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7, 8, 11, 0.74);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: var(--nr-z-modal-top, 9600);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: nr-auth-fade-in 0.2s ease;
}
@keyframes nr-auth-fade-in { from { opacity: 0; } to { opacity: 1; } }

.nr-auth-modal {
  position: relative;
  width: 100%;
  max-width: 460px;
  background: linear-gradient(180deg, #1a1816, #131110);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 20px;
  padding: 36px 32px 28px;
  box-shadow: 0 40px 100px -20px rgba(0,0,0,0.6), inset 0 1px 0 rgba(255,255,255,0.06);
  animation: nr-auth-pop-in 0.24s cubic-bezier(0.22, 1, 0.36, 1);
  color: var(--nr-text-paper, #f6f1eb);
}
@keyframes nr-auth-pop-in {
  from { opacity: 0; transform: translateY(20px) scale(0.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.nr-auth-modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  border: 0;
  color: rgba(246,241,235,0.6);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all 0.15s;
}
.nr-auth-modal-close:hover { background: rgba(255,255,255,0.10); color: #fff; }
.nr-auth-modal-close svg { width: 14px; height: 14px; }

.nr-auth-modal-icon {
  width: 60px;
  height: 60px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  margin-bottom: 16px;
}
.nr-auth-modal.is-login .nr-auth-modal-icon {
  background: rgba(126, 196, 184, 0.12);
  border: 1px solid rgba(126, 196, 184, 0.32);
  color: #7ec4b8;
}
.nr-auth-modal.is-ai .nr-auth-modal-icon {
  background: rgba(194, 106, 97, 0.14);
  border: 1px solid rgba(194, 106, 97, 0.42);
  color: var(--nr-accent, #c26a61);
}
.nr-auth-modal-icon svg { width: 28px; height: 28px; }

.nr-auth-modal-title {
  font-size: 22px;
  font-weight: 800;
  letter-spacing: -0.02em;
  margin: 0 0 4px;
  color: #f6f1eb;
}
.nr-auth-modal-subtitle {
  font-size: 13.5px;
  color: rgba(246, 241, 235, 0.6);
  margin: 0 0 20px;
  line-height: 1.4;
}

.nr-auth-modal-body { margin-bottom: 24px; }
.nr-auth-modal-p {
  font-size: 13.5px;
  line-height: 1.55;
  color: rgba(246, 241, 235, 0.78);
  margin: 0 0 14px;
}
.nr-auth-modal-p b { color: #f6f1eb; font-weight: 700; }
.nr-auth-modal-p:last-child { margin-bottom: 0; }
.nr-auth-modal-fineprint {
  font-size: 11.5px;
  color: rgba(246, 241, 235, 0.45);
  margin-top: 16px;
}
.nr-auth-link {
  color: var(--nr-accent-soft, #d68a7f);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.nr-auth-link:hover { color: var(--nr-accent, #c26a61); }

.nr-auth-modal-bullets {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  background: rgba(255,255,255,0.03);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.06);
}
.nr-auth-bullet {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(246, 241, 235, 0.78);
}
.nr-auth-bullet-mark {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(126, 196, 184, 0.18);
  color: #7ec4b8;
  font-weight: 800;
  font-size: 11px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.nr-auth-modal-info {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 4px 0;
  background: rgba(255,255,255,0.03);
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,0.06);
}
.nr-auth-info-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 12px;
  padding: 10px 16px;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  font-size: 12.5px;
  align-items: center;
}
.nr-auth-info-row:last-child { border-bottom: 0; }
.nr-auth-info-key {
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: rgba(246, 241, 235, 0.42);
}
.nr-auth-info-val { color: rgba(246, 241, 235, 0.78); }
.nr-auth-info-mono { font-family: 'JetBrains Mono', monospace; font-size: 11.5px; }

.nr-auth-modal-actions {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}
.nr-auth-btn {
  flex: 1;
  height: 46px;
  border: 0;
  border-radius: 12px;
  font-family: inherit;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  letter-spacing: 0.01em;
}
.nr-auth-btn svg { width: 14px; height: 14px; flex-shrink: 0; }
.nr-auth-btn-ghost {
  background: rgba(255,255,255,0.05);
  color: rgba(246, 241, 235, 0.7);
  border: 1px solid rgba(255,255,255,0.10);
}
.nr-auth-btn-ghost:hover {
  background: rgba(255,255,255,0.08);
  color: #f6f1eb;
}
.nr-auth-btn-primary {
  background: var(--nr-accent, #c26a61);
  color: #fff;
  box-shadow: 0 6px 18px rgba(194,106,97,0.32);
}
.nr-auth-modal.is-login .nr-auth-btn-primary {
  background: #7ec4b8;
  color: #0a0c0a;
  box-shadow: 0 6px 18px rgba(126,196,184,0.32);
}
.nr-auth-btn-primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
}

@media (max-width: 480px) {
  .nr-auth-modal { padding: 28px 22px 22px; border-radius: 16px; }
  .nr-auth-modal-title { font-size: 19px; }
  .nr-auth-modal-icon { width: 52px; height: 52px; margin-bottom: 12px; }
  .nr-auth-info-row { grid-template-columns: 80px 1fr; padding: 9px 14px; }
}

/* Inline login form w NRAuthModal */
.nr-auth-form { display: flex; flex-direction: column; gap: 14px; }
.nr-auth-field { display: flex; flex-direction: column; gap: 6px; }
.nr-auth-field-label {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: rgba(246, 241, 235, 0.55);
}
.nr-auth-field-hint {
  font-size: 10.5px;
  font-weight: 500;
  color: rgba(246, 241, 235, 0.35);
  text-transform: none;
  letter-spacing: 0;
}
.nr-auth-field input {
  height: 46px;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 10px;
  color: var(--nr-text-paper, #f6f1eb);
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 500;
  transition: all 0.15s;
}
.nr-auth-field input:focus {
  outline: none;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(126, 196, 184, 0.55);
  box-shadow: 0 0 0 3px rgba(126, 196, 184, 0.16);
}
.nr-auth-field input:disabled { opacity: 0.5; cursor: not-allowed; }
.nr-auth-input-mono {
  font-family: 'JetBrains Mono', monospace;
  letter-spacing: 0.4em;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
}
.nr-auth-error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: rgba(248, 113, 113, 0.10);
  border: 1px solid rgba(248, 113, 113, 0.32);
  border-radius: 10px;
  color: #f87171;
  font-size: 12.5px;
  font-weight: 500;
}
.nr-auth-error svg { width: 14px; height: 14px; flex-shrink: 0; }
.nr-auth-form-links {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 6px;
}
.nr-auth-link-sm {
  font-size: 12px;
  font-weight: 500;
}
.nr-auth-spinner {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: nr-auth-spin 0.7s linear infinite;
}
@keyframes nr-auth-spin { to { transform: rotate(360deg); } }

/* ════════════════════════════════════════════
   AI Pipeline status bar — zastępuje Wielokąt/Koło/RĘKA
   podczas detectFormAuto. 5 kropek (faz) + tekst etapu.
   ════════════════════════════════════════════ */
.nr-ai-pipeline-bar {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 4px 12px;
  background: linear-gradient(135deg, rgba(224,112,94,.10), rgba(77,189,179,.06));
  border: 1px solid rgba(224,112,94,.35);
  border-radius: 999px;
  height: 36px;
  animation: nr-pipe-fade-in .2s ease;
}
@keyframes nr-pipe-fade-in { from { opacity: 0; transform: translateY(-2px); } to { opacity: 1; transform: translateY(0); } }

.nr-ai-pipeline-dots { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.nr-ai-dot { display: flex; align-items: center; gap: 4px; }
.nr-ai-dot-mark {
  width: 8px; height: 8px; border-radius: 50%;
  background: rgba(255,255,255,0.18);
  transition: background 0.2s, box-shadow 0.2s;
  flex-shrink: 0;
}
.nr-ai-dot-label {
  font-size: 9px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: rgba(255,255,255,0.4);
  white-space: nowrap;
}
.nr-ai-dot-active .nr-ai-dot-mark {
  background: var(--nr-accent, #c26a61);
  box-shadow: 0 0 0 2px rgba(224,112,94,.20), 0 0 8px rgba(224,112,94,.6);
  animation: nr-pipe-pulse 1.2s ease-in-out infinite;
}
.nr-ai-dot-active .nr-ai-dot-label { color: #ffd8d4; }
.nr-ai-dot-done .nr-ai-dot-mark { background: #4ade80; box-shadow: 0 0 6px rgba(74,222,128,.5); }
.nr-ai-dot-done .nr-ai-dot-label { color: rgba(180,255,200,.7); }
.nr-ai-dot-error .nr-ai-dot-mark { background: #f87171; box-shadow: 0 0 8px rgba(248,113,113,.6); }
.nr-ai-dot-error .nr-ai-dot-label { color: rgba(255,200,200,.8); }
@keyframes nr-pipe-pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.25); opacity: 0.6; }
}

.nr-ai-pipeline-text {
  display: flex; flex-direction: column; gap: 0;
  min-width: 0; flex: 1 1 auto; line-height: 1.1;
}
.nr-ai-pipeline-msg {
  font-size: 11.5px; font-weight: 700;
  color: #ffe6e2;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.nr-ai-pipeline-sub {
  font-size: 9.5px; color: rgba(255,255,255,0.45);
  font-weight: 500; letter-spacing: 0.04em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.nr-ai-pipeline-bar.nr-ai-pipeline-success {
  background: linear-gradient(135deg, rgba(74,222,128,.10), rgba(74,222,128,.04));
  border-color: rgba(74,222,128,.45);
}
.nr-ai-pipeline-bar.nr-ai-pipeline-success .nr-ai-pipeline-msg { color: #d4ffe0; }

.nr-ai-pipeline-bar.nr-ai-pipeline-error {
  background: linear-gradient(135deg, rgba(248,113,113,.12), rgba(248,113,113,.04));
  border-color: rgba(248,113,113,.45);
}
.nr-ai-pipeline-bar.nr-ai-pipeline-error .nr-ai-pipeline-msg { color: #ffd2d2; }

.nr-ai-pipeline-bar.nr-ai-pipeline-warn {
  background: linear-gradient(135deg, rgba(251,146,60,.10), rgba(251,146,60,.04));
  border-color: rgba(251,146,60,.42);
}

/* Mobile — kompaktowy: ukryj label kropek, zostaw same kropki + tekst */
@media (max-width: 700px) {
  .nr-ai-pipeline-bar { gap: 10px; padding: 4px 10px; }
  .nr-ai-dot-label { display: none; }
  .nr-ai-pipeline-msg { font-size: 11px; }
  .nr-ai-pipeline-sub { font-size: 9px; }
}

/* ════════════════════════════════════════════
   AI Pipeline wrap — zlewa AI button + pipeline bar w jeden prostokąt
   ════════════════════════════════════════════ */
.nr-ai-pipeline-wrap {
  display: flex;
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
  background: linear-gradient(135deg, rgba(224,112,94,.10), rgba(77,189,179,.06));
  border: 1px solid rgba(224,112,94,.45);
  border-radius: 999px;
  overflow: hidden;
  height: 36px;
  animation: nr-pipe-fade-in .2s ease;
}
.nr-ai-pipeline-wrap .nr-ai-pipeline-trigger {
  background: rgba(224,112,94,.18);
  border: 0;
  border-right: 1px solid rgba(224,112,94,.35);
  color: #ffd8d4;
  font-weight: 900;
  border-radius: 0;
  padding: 0 14px;
  height: auto;
  flex: 0 0 auto;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.nr-ai-pipeline-wrap .nr-ai-pipeline-bar {
  border: 0;
  border-radius: 0;
  background: transparent;
  flex: 1 1 auto;
  height: auto;
  animation: none;
  padding: 4px 12px;
}
/* Pipeline-active state colour wraps — sync wrap border with bar variant */
.nr-ai-pipeline-wrap:has(.nr-ai-pipeline-success) {
  background: linear-gradient(135deg, rgba(74,222,128,.10), rgba(74,222,128,.04));
  border-color: rgba(74,222,128,.55);
}
.nr-ai-pipeline-wrap:has(.nr-ai-pipeline-success) .nr-ai-pipeline-trigger {
  background: rgba(74,222,128,.18);
  border-right-color: rgba(74,222,128,.4);
  color: #d4ffe0;
}
.nr-ai-pipeline-wrap:has(.nr-ai-pipeline-error) {
  background: linear-gradient(135deg, rgba(248,113,113,.12), rgba(248,113,113,.04));
  border-color: rgba(248,113,113,.55);
}
.nr-ai-pipeline-wrap:has(.nr-ai-pipeline-error) .nr-ai-pipeline-trigger {
  background: rgba(248,113,113,.18);
  border-right-color: rgba(248,113,113,.4);
  color: #ffd2d2;
}

/* Default standalone AI button styling (gdy wrap nie aktywny) */
.nr-toolbar-btn.nr-ai-pipeline-trigger:not(.nr-ai-pipeline-wrap .nr-ai-pipeline-trigger) {
  background: linear-gradient(135deg,rgba(224,112,94,.22),rgba(77,189,179,.14));
  border-color: rgba(224,112,94,.55);
  color: #ffd8d4;
  font-weight: 900;
}

/* Mobile: gdy AI running → wrap zajmuje cały wiersz (span 3 kolumny), RESET schodzi do row 2 */
@media (max-width: 768px) {
  .nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.is-ai-running {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: auto;
  }
  .nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.is-ai-running .nr-ai-pipeline-wrap {
    grid-column: 1 / -1;
  }
  /* AI button w mobile wrapie — minimalna szerokość żeby był klikalny */
  .nr-ai-pipeline-wrap .nr-ai-pipeline-trigger {
    padding: 0 10px;
    font-size: 11px;
  }
}

/* "Kup tutaj" (wide button pod tabelą) — tylko na mobile.
   Na desktop wystarczy inline "Kup teraz" w wierszu aktywnej żywicy. */
@media (min-width: 768px) {
  .nr-mobile-buy { display: none; }
}
@media (min-width: 981px){
  .nr-layout-resin .nr-resin-controls{
    gap: 10px;
  }
  .nr-layout-resin .nr-resin-controls-source{
    flex: 0 0 auto;
    width: auto;
  }
  .nr-layout-resin .nr-resin-controls > .nr-resin-controls-source.nr-resin-source-toggle{
    display: inline-grid;
    grid-template-columns: repeat(2, max-content);
    width: fit-content;
    flex: 0 0 max-content;
    justify-content: start;
    align-items: center;
    padding: 3px;
    gap: 3px;
  }
  .nr-layout-resin .nr-resin-source-toggle .nr-seg-btn{
    padding: 0 16px;
  }
  .nr-layout-resin .nr-resin-controls > .nr-resin-controls-source.nr-resin-source-toggle .nr-seg-btn{
    width: auto;
    min-width: max-content;
    height: 30px;
    padding: 0 12px;
    font-size: 9px;
    letter-spacing: .015em;
  }
  .nr-layout-resin .nr-resin-controls-types{
    flex-wrap: nowrap;
    justify-content: flex-end;
    overflow: visible;
    white-space: nowrap;
    gap: 6px;
  }
  .nr-layout-resin .nr-resin-source-toggle .nr-seg-btn{
    padding: 0 10px;
    font-size: 9px;
  }
  .nr-layout-resin .nr-resin-type-filter.is-all,
  .nr-layout-resin .nr-resin-controls-types .nr-resin-type-pill{
    min-height: 26px;
    padding: 0 10px;
    font-size: clamp(9px, .58vw, 11px);
  }
}
@media (max-width: 980px){
  .nr-layout-resin .nr-resin-controls{
    flex-wrap: wrap;
  }
  .nr-layout-resin .nr-resin-controls-source,
  .nr-layout-resin .nr-resin-search-input{
    flex: 1 1 100%;
  }
  .nr-layout-resin .nr-resin-controls-brand{
    flex: 1 1 auto;
    min-width: 0;
  }
  .nr-layout-resin .nr-resin-controls-sort{
    flex: 1 1 auto;
    min-width: 0;
  }
  .nr-layout-resin .nr-resin-controls-types{
    flex: 1 1 100%;
    justify-content:flex-start;
    /* zawijanie zamiast poziomego scrolla z ukrytym scrollbarem — pigułki (4 szt.) ucinały się
       na krawędzi bez żadnego sygnału, że można przewijać */
    flex-wrap:wrap;
    overflow-x:visible;
    margin: 0 0 10px;
  }
  .nr-layout-resin .nr-resin-controls-types::-webkit-scrollbar{
    display:none;
  }
  .nr-layout-resin .nr-resin-controls-types > *{
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .nr-layout-resin .nr-resin-table-head{
    display: none;
  }
  .nr-layout-resin .nr-resin-row{
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "name action"
      "meta meta";
    gap: 4px 8px;
    min-height: 74px;
    padding: 10px 12px;
    align-items: center;
  }
  .nr-layout-resin .nr-resin-row > *{
    padding-inline: 0;
  }
  .nr-layout-resin .nr-resin-row > :not(:last-child)::after{
    display: none;
  }
  .nr-layout-resin .nr-resin-row > :nth-child(1){
    grid-area: name;
    overflow: visible;
    text-overflow: clip;
    min-width: 0;
  }
  .nr-layout-resin .nr-resin-name{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
    white-space:normal;
    overflow:visible;
  }
  .nr-layout-resin .nr-resin-name__text{
    display:block;
    max-width:100%;
    white-space:nowrap;
  }
  .nr-layout-resin .nr-resin-badges{
    flex-wrap:wrap;
    gap:4px;
  }
  .nr-layout-resin .nr-tds-pill,
  .nr-layout-resin .nr-tips-pill{
    height:17px;
    padding-inline:6px;
    font-size:8px;
    letter-spacing:.035em;
  }
  .nr-layout-resin .nr-resin-row > :nth-child(2){
    grid-area: meta;
    font-size: 11px;
    font-weight: 700;
    color: rgba(226,232,240,.78);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
    align-self: start;
  }
  .nr-layout-resin .nr-resin-row > :nth-child(2)::before{
    content: "Grubość ";
    opacity: .72;
  }
  .nr-layout-resin .nr-resin-row > :nth-child(2)::after{
    content: " · proporcja " attr(data-ratio);
    opacity: .86;
  }
  .nr-layout-resin .nr-resin-row > :nth-child(3),
  .nr-layout-resin .nr-resin-row > :nth-child(4){
    display: none;
  }
  .nr-layout-resin .nr-resin-row > :nth-child(5){
    grid-area: action;
    justify-self: end;
    align-self: center;
  }
  .nr-layout-resin .nr-resin-row.is-pending::after{
    left: 12px;
    top: 34px;
    bottom: 8px;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 10px;
    letter-spacing: .09em;
  }
  .nr-layout-resin .nr-resin-col-action{ display: block; }
  .nr-layout-resin .nr-resin-pick{
    display: inline-flex;
    min-width: 84px;
    height: 26px;
    font-size: 10px;
    letter-spacing: .05em;
    justify-self: end;
  }
  .nr-layout-resin .nr-resin-tips-btn{
    height:24px;
    min-width:52px;
    font-size:9px;
  }
}

/* Cookie Banner Layer */
.nr-cookie{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index: var(--nr-z-cookie);
  width:calc(100% - 44px);
  max-width:920px;
}
.nr-cookie__box{
  display:flex;
  flex-direction:column;
  gap:22px;
  padding:34px 36px 30px;
  border-radius:0 0 24px 24px;
  background:#111214;
  border:2px solid rgba(255,255,255,.16);
  box-shadow:0 26px 70px rgba(0,0,0,.55);
}
.nr-cookie__title{
  font-family:"Sora","Times New Roman",serif;
  font-weight:700;
  font-size:62px;
  line-height:.95;
  letter-spacing:-.02em;
  color:#f2f2f2;
}
.nr-cookie__text{
  max-width:800px;
  margin-top:12px;
  font-size:20px;
  line-height:1.38;
  color:rgba(245,245,245,.86);
}
.nr-cookie__link{
  color:#f1f1f1;
  text-decoration:underline;
  text-underline-offset:3px;
}
.nr-cookie__actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.nr-cookie__btn{
  appearance:none;
  cursor:pointer;
  min-height:74px;
  border-radius:16px;
  padding:0 20px;
  font-size:22px;
  font-weight:650;
  letter-spacing:.01em;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.nr-cookie__btn--ghost{
  border:2px solid rgba(255,255,255,.38);
  background:transparent;
  color:#f3f3f3;
}
.nr-cookie__btn--ghost:hover{
  border-color:rgba(255,255,255,.58);
  transform:translateY(-1px);
}
.nr-cookie__btn--primary{
  border:2px solid #ececec;
  background:#ececec;
  color:#0f1114;
}
.nr-cookie__btn--primary:hover{
  background:#fff;
  border-color:#fff;
  transform:translateY(-1px);
}
@media (max-width:860px){
  .nr-cookie{ width:calc(100% - 26px); }
  .nr-cookie__box{ padding:24px 20px 20px; border-radius:20px; gap:16px; }
  .nr-cookie__title{ font-size:46px; }
  .nr-cookie__text{ font-size:17px; }
  .nr-cookie__btn{ min-height:64px; font-size:19px; }
}
@media (max-width:560px){
  .nr-cookie{ bottom:12px; }
  .nr-cookie__title{ font-size:38px; }
  .nr-cookie__text{ font-size:15px; line-height:1.42; }
  .nr-cookie__actions{ grid-template-columns:1fr; gap:10px; }
  .nr-cookie__btn{ min-height:56px; font-size:17px; border-radius:13px; }
}

/* Layout and Toolbar Layer */
/* Remove top "strip/frame" artifact */
html, body, #root{
  margin: 0;
  padding: 0;
}
.nr-app-root{
  border-radius: 0;
  border: 0;
  box-shadow: none;
  margin: 0;
}
@keyframes nrMobSlide {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ═══════ AI TOOLBAR (accordion mobile, inline desktop) ═══════ */
.nr-ai-wrap { padding: 4px 0; }
/* monochrome health dots — online=white, degraded=dim white, offline=accent */
.nr-ai-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid var(--nr-border-faint);
  background: var(--nr-surface-faint);
  cursor: pointer;
  transition: all .15s;
}
.nr-ai-toggle:hover { background: var(--nr-surface-soft-strong); }

.nr-ai-toolbar {
  display: none;
  flex-wrap: wrap;
  gap: 6px;
  padding: 8px 0 0;
  overflow: hidden;
  animation: nrAccordionOpen .2s ease;
}
.nr-ai-toolbar.is-open { display: flex; }

@keyframes nrAccordionOpen {
  from { opacity: 0; max-height: 0; }
  to { opacity: 1; max-height: 320px; }
}

/* Desktop: hide toggle, always show toolbar.
   flex-wrap: wrap → slider .nr-ai-tb-slider (width:100%) wskakuje w nowy wiersz pod buttonami
   zamiast nakładać się na nie. */
@media (min-width: 769px) {
  .nr-ai-toggle { display: none; }
  /* zwarty pasek pigułek wyrównany do lewej — ten sam język co segment ZDJĘCIE/IZO,
     zamiast 4 rozciągniętych przycisków na całą szerokość */
  .nr-ai-toolbar { display: flex; padding: 2px 0 8px; flex-wrap: wrap; justify-content: flex-start; align-items: center; }
  .nr-ai-tb-label {
    display: inline-flex;
    align-items: center;
    margin-right: 4px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--nr-text-soft-alpha);
  }
}
.nr-ai-tb-label { display: none; }
@media (min-width: 769px) { .nr-ai-tb-label { display: inline-flex; } }

.nr-ai-tb-btn {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid var(--nr-border-strong-ui);
  background: var(--nr-surface-soft);
  color: var(--nr-control-text-faint);
  cursor: pointer;
  transition: all .15s;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .03em;
  white-space: nowrap;
}
@media (min-width: 769px) {
  .nr-ai-tb-btn { flex: 0 0 auto; padding: 7px 14px; font-size: 10px; letter-spacing: .12em; font-weight: 900; }
}
@media (max-width: 768px) {
  .nr-ai-tb-btn { flex: 1 1 calc(50% - 4px); padding: 10px 8px; font-size: 10px; }
}
.nr-ai-tb-btn:hover { background: var(--nr-surface-chip-strong); color: var(--nr-text-soft-alpha); }
.nr-ai-tb-btn.is-active {
  background: var(--nr-surface-accent-cta);
  border-color: var(--nr-border-accent-ui);
  color: var(--nr-accent);
}
.nr-ai-tb-btn.is-loading {
  animation: pulse 1.5s ease-in-out infinite;
  background: var(--nr-surface-accent-strong);
  border-color: var(--nr-border-accent-soft);
  color: var(--nr-accent);
}

/* AI Spinner */
.nr-ai-spinner {
  display: inline-block;
  width: 14px; height: 14px;
  border: 2px solid var(--nr-border-accent-soft);
  border-top-color: var(--nr-accent);
  border-radius: 50%;
  animation: nrSpin .6s linear infinite;
  flex-shrink: 0;
}
@keyframes nrSpin {
  to { transform: rotate(360deg); }
}

/* Conditional sliders */
.nr-ai-tb-slider {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 8px;
  background: var(--nr-surface-soft);
  border: 1px solid var(--nr-border-faint);
}
.nr-ai-tb-slider label {
  font-size: 10px;
  font-weight: 700;
  color: var(--nr-control-text-faint);
  white-space: nowrap;
  min-width: 70px;
}
.nr-ai-tb-range { flex: 1; accent-color: var(--nr-accent); }
.nr-ai-tb-slider--purple .nr-ai-tb-range { accent-color: var(--nr-accent); }
.nr-ai-tb-slider--red .nr-ai-tb-range { accent-color: var(--nr-accent); }

@media (max-width: 480px) {
  .nr-ai-tb-btn { font-size: 9px; padding: 9px 6px; }
}

/* Hero Layer */
/* Hero layer with highest cascade priority */
#hero-main-header{position:fixed;top:0;left:0;width:100%;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:100;transition:background .25s ease,box-shadow .25s ease,padding .2s ease,opacity .2s ease,transform .25s ease;border-bottom:1px solid transparent;font-family:'Inter',sans-serif;background:transparent;border-radius:0;overflow:visible;backdrop-filter:none;box-shadow:none;border:none;visibility:visible}
#hero-main-header.scrolled{padding:1rem 3rem;background:var(--nr-surface-overlay);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:var(--nr-shadow-header);border-bottom:1px solid var(--nr-border-faint)}
#hero-main-header.is-hidden{transform:translateY(calc(-100% - 12px));opacity:0}
.hero-logo-text{font-weight:700;font-size:1.25rem;letter-spacing:0;display:flex;align-items:center;gap:.86rem;color:var(--nr-text-contrast);font-family:'Inter',sans-serif;background:none;border:none;box-shadow:none;border-radius:0;text-decoration:none}
.hero-logo-lines{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1;width:max-content;min-width:0}
.hero-logo-main{font-size:1.02rem;font-weight:900;letter-spacing:.155em;text-transform:uppercase;color:var(--nr-text-paper,#f6f1eb)}
.hero-logo-sub{display:block;width:auto;font-size:.58rem;font-weight:800;letter-spacing:.42em;text-transform:uppercase;color:rgba(246,241,235,.56);margin-top:6px;white-space:nowrap}
.hero-logo-beta-soft{display:none}
.hero-logo-icon{width:44px;height:44px;display:block;flex:0 0 44px;overflow:visible;color:var(--nr-accent)}
.hero-logo-tile{fill:var(--nr-paper-text,#f0ebe1)}
.hero-logo-mark{fill:var(--nr-paper-surface,#1c1b18)}
.hero-menu-trigger,
#hero-nav-overlay .nrm-close{cursor:pointer;width:46px;height:46px;display:flex;align-items:center;justify-content:center;color:var(--nr-text-contrast);background:var(--nr-surface-overlay-soft);border:1px solid var(--nr-border-stronger);border-radius:14px;box-shadow:var(--nr-shadow-dropdown);backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.hero-menu-trigger{z-index:110}
.hero-menu-trigger:hover,
#hero-nav-overlay .nrm-close:hover{transform:translateY(-1px);background:var(--nr-surface-overlay-strong);border-color:var(--nr-border-stronger)}
.hero-menu-trigger[aria-expanded="true"]{background:var(--nr-surface-accent-strong);border-color:var(--nr-border-accent-strong)}
.hero-desktop-nav{
  display:none;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:14px;
  border:1px solid var(--nr-paper-border-ui);
  background:var(--nr-paper-surface);
  box-shadow:var(--nr-shadow-panel);
  overflow:visible;
}
.hero-desktop-link,
.hero-help-trigger{
  color:var(--nr-paper-text);
  text-decoration:none;
  font-family:'Sora','Inter',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
  padding:8px 10px;
  border-radius:8px;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.hero-desktop-link:hover,
.hero-desktop-link.is-active,
.hero-help-trigger.is-active,
.hero-help-trigger:hover,
.hero-help-dd:focus-within .hero-help-trigger,
.hero-help-dd.is-open .hero-help-trigger{
  background:var(--nr-paper-surface-muted);
  color:var(--nr-paper-text);
}
.hero-login-btn{
  display:inline-flex;align-items:center;gap:6px;
  color:var(--nr-paper-text);text-decoration:none;
  font-family:'Sora','Inter',sans-serif;
  font-size:12px;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;padding:8px 14px;
  border-radius:999px;border:1px solid rgba(255,255,255,.15);
  background:transparent;cursor:pointer;
  transition:all .18s ease;
}
.hero-login-btn:hover{
  background:var(--nr-paper-surface-muted);
  border-color:rgba(255,255,255,.3);
}
.hero-login-btn svg{width:14px;height:14px}
.hero-lang-switch{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:2px;
  border:1px solid var(--nr-paper-border-ui);
  border-radius:999px;
  background:var(--nr-paper-surface-muted);
}
.hero-lang-link{
  min-width:32px;
  padding:6px 8px;
  border-radius:999px;
  color:var(--nr-paper-text);
  font-family:'Sora','Inter',sans-serif;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  text-align:center;
  text-decoration:none;
  transition:background .18s ease,color .18s ease;
}
.hero-lang-link:hover,
.hero-lang-link.is-active{
  background:var(--nr-paper-text);
  color:var(--nr-paper-surface);
}
.hero-docs-dd,
.hero-help-dd{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.hero-docs-dd::after,
.hero-help-dd::after{
  content:"";
  position:absolute;
  top:100%;
  height:12px;
}
.hero-docs-dd::after{left:0;width:100%}
.hero-help-dd::after{right:0;width:100%}
.hero-docs-menu,
.hero-help-menu{
  position:absolute;
  top:calc(100% + 8px);
  min-width:210px;
  padding:8px;
  border-radius:12px;
  border:1px solid var(--nr-border-stronger);
  background:var(--nr-surface-overlay-strong);
  box-shadow:var(--nr-shadow-dropdown);
  display:none;
  z-index:260;
}
.hero-docs-menu{left:0}
.hero-help-menu{right:0}
.hero-contact-menu{min-width:250px}
.hero-contact-menu .hero-docs-item{
  border:1px solid var(--nr-border-accent-ui);
  background:rgba(255,103,40,.08);
  color:var(--nr-text-strong-alpha);
  padding:12px 14px;
}
.hero-contact-menu .hero-docs-item:hover,
.hero-contact-menu .hero-docs-item.is-active{
  background:rgba(255,103,40,.16);
  border-color:var(--nr-border-accent-strong);
  color:var(--nr-accent);
}
.hero-docs-dd:hover .hero-docs-menu,
.hero-docs-dd:focus-within .hero-docs-menu,
.hero-docs-dd.is-open .hero-docs-menu{
  display:block;
}
.hero-help-dd:hover .hero-help-menu,
.hero-help-dd:focus-within .hero-help-menu,
.hero-help-dd.is-open .hero-help-menu{
  display:block;
}
.hero-docs-item,
.hero-help-item{
  display:block;
  width:100%;
  border:0;
  cursor:pointer;
  text-align:left;
  text-decoration:none;
  background:transparent;
  color:var(--nr-text-soft-alpha);
  font-family:'Inter',sans-serif;
  font-size:12px;
  font-weight:700;
  padding:8px 10px;
  border-radius:8px;
}
.hero-help-trigger{border:0;outline:0;background:transparent}
.hero-docs-item:hover,
.hero-docs-item.is-active,
.hero-help-item.is-active,
.hero-help-item:hover{
  background:var(--nr-surface-chip-strong);
}

/* ── Home Hero — swiss technical product stage ── */
body.nr-home-page #hero-top.nr-home-swiss-hero{
  position:relative;
  min-height:92svh;
  display:block;
  padding-block:104px 18px;
  /* Boczny padding — hero nie dotyka krawędzi viewportu na laptop/desktop */
  padding-inline: clamp(20px, 3vw, 56px);
  background:transparent;
  overflow:hidden;
  visibility:visible;
  scroll-margin-top:84px;
  font-family:'Sora','Inter',sans-serif;
}
body.nr-home-page #hero-top.nr-home-swiss-hero::after{
  display:none;
}
body.nr-home-page .nr-home-swiss-frame{
  position:relative;
  min-height:calc(92svh - 122px);
  max-width: var(--nr-page-max, 1640px);
  margin-inline: auto;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 74% 42%, rgba(255,255,255,.03), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.014), rgba(255,255,255,.01));
  /* Box-shadow zredukowany — był 30px 120px .45, tworzył ciemny halo gradient */
  box-shadow:0 8px 28px rgba(0,0,0,.18);
  isolation:isolate;
}
body.nr-home-page .nr-home-swiss-stage{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
}
body.nr-home-page .nr-home-swiss-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
body.nr-home-page .nr-home-swiss-noise{
  position:absolute;
  inset:0;
  opacity:.1;
  mix-blend-mode:screen;
  background-image:
    radial-gradient(circle at 20% 18%, rgba(255,255,255,.18) 0 .55px, transparent .8px),
    radial-gradient(circle at 84% 24%, rgba(255,255,255,.12) 0 .5px, transparent .8px),
    radial-gradient(circle at 42% 84%, rgba(255,255,255,.1) 0 .75px, transparent 1px);
  background-size:16px 16px,20px 20px,24px 24px;
}
body.nr-home-page .nr-home-swiss-grid{
  position:relative;
  z-index:1;
  min-height:inherit;
  padding-block:28px 24px;
  padding-inline: var(--nr-page-pad, clamp(16px, 3vw, 56px));
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  grid-template-rows:auto 1fr;
  gap:18px 24px;
}
body.nr-home-page .nr-home-swiss-left{
  align-self:end;
  display:grid;
  gap:16px;
  padding-bottom:4vh;
}
body.nr-home-page .nr-home-swiss-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-family:'JetBrains Mono','IBM Plex Mono',monospace;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(246,241,235,.42);
}
body.nr-home-page .nr-home-swiss-kicker strong{
  color:var(--nr-accent);
  font-weight:700;
}
body.nr-home-page .nr-home-swiss-title{
  margin:0;
  font-family:'Syne','Sora',system-ui,sans-serif;
  font-size:clamp(4rem,11vw,8.8rem);
  line-height:.88;
  letter-spacing:-.085em;
  color:var(--nr-text-paper);
}
body.nr-home-page .nr-home-swiss-title span{
  color:rgba(255,255,255,.84);
}
body.nr-home-page .nr-home-swiss-title--prop{
  font-size:clamp(2.2rem,4.6vw,4.4rem);
  line-height:1.04;
  letter-spacing:-.025em;
  max-width:18ch;
}
body.nr-home-page .nr-home-swiss-title--prop .nr-home-swiss-title__accent{
  color:var(--nr-accent);
  font-weight:600;
}
body.nr-home-page .nr-home-swiss-copy{
  max-width:24rem;
  margin:0;
  color:rgba(246,241,235,.68);
  font-size:clamp(1rem,1.45vw,1.14rem);
  line-height:1.66;
}
body.nr-home-page .nr-home-swiss-cta{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
body.nr-home-page .nr-home-swiss-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  text-decoration:none;
  font-family:'Syne','Sora',system-ui,sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.02em;
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
body.nr-home-page .nr-home-swiss-btn:hover{
  transform:translateY(-1px);
  border-color:rgba(255,255,255,.24);
}
body.nr-home-page .nr-home-swiss-btn--primary{
  background:rgba(255,255,255,.92);
  color:#11141a;
}
body.nr-home-page .nr-home-swiss-btn--secondary{
  color:var(--nr-text-paper);
  background:rgba(255,255,255,.03);
}
body.nr-home-page .nr-home-swiss-btn--secondary:hover{
  color:var(--nr-text-paper);
}
body.nr-home-page .nr-home-swiss-right{
  position:relative;
  min-height:100%;
}
body.nr-home-page .nr-home-swiss-pills{
  position:absolute;
  right:0;
  bottom:0;
  width:min(29rem,100%);
  display:grid;
  grid-template-columns:repeat(2, max-content);
  gap:10px;
  justify-content:end;
  align-content:end;
}
body.nr-home-page .nr-home-swiss-pill{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--nr-text-paper);
  font-family:'JetBrains Mono','IBM Plex Mono',monospace;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.nr-home-page .nr-home-swiss-pill--hero{
  grid-column:1 / span 2;
  justify-self:end;
  min-height:44px;
  padding:0 18px;
  font-size:11px;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.16);
}
body.nr-home-page .nr-home-swiss-pill--wide{
  min-height:40px;
  padding:0 16px;
}
body.nr-home-page .nr-home-swiss-pill--compact{
  min-height:34px;
  padding:0 12px;
  font-size:9px;
  letter-spacing:.12em;
}
body.nr-home-page .nr-home-swiss-pill--offset{
  grid-column:2;
  justify-self:end;
}
body.nr-home-page .nr-home-swiss-pill b{
  margin-right:8px;
  color:var(--nr-accent);
  font-weight:800;
}
body.nr-home-page .nr-home-swiss-pill--sage b{
  color:#5f8a72;
}
body.nr-home-page .nr-home-swiss-pill--amber b{
  color:#c49a48;
}
body.nr-home-page .nr-home-swiss-note{
  position:absolute;
  max-width:12.5rem;
  display:grid;
  gap:6px;
}
body.nr-home-page .nr-home-swiss-note strong{
  font-family:'JetBrains Mono','IBM Plex Mono',monospace;
  font-size:10px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:rgba(255,255,255,.88);
}
body.nr-home-page .nr-home-swiss-note p{
  margin:0;
  color:rgba(246,241,235,.42);
  font-size:11px;
  line-height:1.58;
}
body.nr-home-page .nr-home-swiss-note--one{
  right:1.5rem;
  top:26%;
  text-align:right;
}
body.nr-home-page .nr-home-swiss-note--two{
  left:3%;
  bottom:20%;
  max-width:11rem;
}
@keyframes nrFlowPhoto{
  0%,100%{transform:translateY(0) rotate(-4deg)}
  50%{transform:translateY(-5px) rotate(-1deg)}
}
@keyframes nrFlowFloatSoft{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}
@keyframes nrFlowScan{
  0%,100%{transform:translateX(-8px);opacity:.16}
  50%{transform:translateX(14px);opacity:.5}
}
@keyframes nrFlowMeasure{
  0%,100%{transform:rotate(-12deg) scaleX(.84)}
  50%{transform:rotate(-12deg) scaleX(1.08)}
}
@keyframes nrFlowPulse{
  0%,100%{transform:scale(1);opacity:.75}
  50%{transform:scale(1.22);opacity:1}
}
@keyframes nrFlowBlob{
  0%,100%{border-radius:54% 46% 48% 52%;transform:scale(1)}
  50%{border-radius:46% 54% 58% 42%;transform:scale(1.05)}
}
@keyframes nrFlowBrush{
  0%,100%{transform:translate(-7px,3px) rotate(-28deg)}
  50%{transform:translate(10px,-8px) rotate(-20deg)}
}
@keyframes nrFlowGrow{
  0%,100%{transform:scaleX(.38);opacity:.42}
  50%{transform:scaleX(1);opacity:1}
}
@media (prefers-reduced-motion: reduce){
  .nr-home-how__visual *,
  .nr-home-how__visual *::before,
  .nr-home-how__visual *::after{
    animation:none;
  }
}
@media (max-width: 980px){
  .nr-home-how__head{
    display:grid;
    gap:6px;
  }
  .nr-home-how__steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nr-home-how__card{
    min-height:232px;
  }
}
@media(max-width:850px){
  #hero-main-header{padding:1.5rem}
  #hero-main-header.scrolled{padding:1rem 1.5rem}
}
@media(min-width:851px){
  .hero-desktop-nav{display:flex}
  .hero-menu-trigger{display:none}
}
@media (max-width: 1080px){
  body.nr-home-page .nr-home-swiss-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
  }
  body.nr-home-page .nr-home-swiss-right{
    min-height:48svh;
  }
  body.nr-home-page .nr-home-swiss-note{
    display:none;
  }
  body.nr-home-page .nr-home-swiss-pills{
    left:0;
    right:0;
    width:100%;
    justify-content:start;
    grid-template-columns:repeat(2, minmax(0, max-content));
  }
  body.nr-home-page .nr-home-swiss-pill--hero{
    justify-self:start;
  }
}
@media (max-width: 720px){
  body.nr-home-page #hero-top.nr-home-swiss-hero{
    padding-block:92px 10px;
    padding-inline:0;
    min-height:auto;
  }
  body.nr-home-page .nr-home-swiss-frame{
    min-height:calc(92svh - 20px);
    border-radius:20px;
  }
  body.nr-home-page .nr-home-swiss-grid{
    padding-block:18px 16px;
    padding-inline: var(--nr-page-pad, clamp(16px, 3vw, 56px));
  }
  body.nr-home-page .nr-home-swiss-left{
    padding-top:clamp(40px, 8vw, 68px);
    padding-bottom:0;
  }
  body.nr-home-page .nr-home-swiss-title{
    font-size:clamp(3.2rem,18vw,5.6rem);
  }
  body.nr-home-page .nr-home-swiss-title--prop{
    font-size:clamp(2rem,8.6vw,3.2rem);
    line-height:1.08;
  }
  body.nr-home-page .nr-home-swiss-copy{
    max-width:30ch;
  }
  body.nr-home-page .nr-home-swiss-cta{
    margin-top:10px;
  }
  body.nr-home-page .nr-home-swiss-right{
    min-height:46svh;
    display:flex;
    align-items:flex-end;
  }
  .nr-home-how{
    padding:14px 10px 20px;
  }
  .nr-home-how h2{
    max-width:22ch;
  }
  .nr-home-how__steps{
    grid-template-columns:1fr;
  }
  .nr-home-how__card{
    min-height:0;
    padding:16px;
  }
  .nr-home-how__visual{
    min-height:88px;
  }
}
@media (max-width: 520px){
  body.nr-home-page .nr-home-swiss-pills{
    position:relative;
    margin-top:72px;
    padding-bottom:12px;
    grid-template-columns:1fr;
    justify-content:stretch;
  }
  body.nr-home-page .nr-home-swiss-pill{
    width:100%;
    justify-content:center;
  }
  body.nr-home-page .nr-home-swiss-pill--hero,
  body.nr-home-page .nr-home-swiss-pill--offset{
    grid-column:auto;
    justify-self:stretch;
  }
}

/* Resin recommendation CTA: force perfect vertical/horizontal centering */
.nr-rec-section .nr-rec-top .nr-rec-btn{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  place-content:center;
  align-self:center;
  height: 56px;
  line-height:1;
  padding-top:0;
  padding-bottom:0;
  padding: 0 28px;
  gap: 10px;
  vertical-align: middle;
}
.nr-rec-section .nr-rec-top .nr-rec-btn svg,
.nr-rec-section .nr-rec-top .nr-rec-btn .nr-rec-spinner{
  display:block;
  margin:0;
  flex-shrink:0;
  align-self:center;
}
.nr-rec-section .nr-rec-top .nr-rec-btn .nr-rec-btn-label{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  transform:none;
}
@media (max-width: 980px){
  .nr-rec-top{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "badges"
      "cta";
    row-gap:8px;
  }
  .nr-rec-top .nr-rec-btn{
    width:100%;
    justify-self:stretch;
  }
}

#root button:not([class]),
#nr-modal-root button:not([class]){
  background:var(--nr-control-bg-dark);
  border:1px solid var(--nr-control-border-dark);
  color:var(--nr-control-text-soft);
  box-shadow:none;
  transition:all .2s;
}
#root button:not([class]):hover,
#nr-modal-root button:not([class]):hover{
  background:var(--nr-control-bg-elevated);
  border-color:var(--nr-control-border-contrast);
}

/* --- SVG ICONS in text context --- */
svg:not(.hero-logo-icon){color:inherit }

/* --- LINKS --- */
#root a,
#nr-modal-root a{color:var(--nr-accent) }
#root a:hover,
#nr-modal-root a:hover{color:var(--nr-accent-soft) }

/* --- TOOLTIP / POPOVER --- */
[role="tooltip"]{
  background:var(--nr-control-bg-dark);
  border:1px solid var(--nr-control-border-dark);
  color:var(--nr-control-text-soft);
}

/* --- TABS --- */
[role="tab"]{
  background:var(--nr-control-bg-dark);
  border:1px solid var(--nr-control-border-dark);
  color:var(--nr-text-subtle);
}
[role="tab"][aria-selected="true"],
[role="tab"].active{
  background:var(--nr-control-bg-elevated);
  color:var(--nr-control-text-soft);
  border-color:var(--nr-accent);
}

/* --- DIVIDERS --- */
hr,
.nr-section-divider{
  border-color:var(--nr-control-border-dark);
  background:var(--nr-control-border-dark);
}

/* --- SAFETY: keep functional status colors slightly distinct --- */
/* Success indicators — subdued green */
/* Warning indicators — warm amber */
/* Error indicators — soft danger */

/* --- AI TOOLBAR --- */
.nr-ai-wrap{background:transparent }
.nr-ai-toggle{
  border:1px solid var(--nr-control-border-dark);
  background:var(--nr-control-bg-dark);
  color:var(--nr-control-text-soft);
}
.nr-ai-toggle:hover{background:var(--nr-control-bg-elevated) }
.nr-ai-toolbar button{
  background:var(--nr-control-bg-dark);
  border:1px solid var(--nr-control-border-dark);
  color:var(--nr-control-text-soft);
}
.nr-ai-toolbar button:hover{background:var(--nr-control-bg-elevated) }

/* --- MASS/RESIN UI ---
   .nr-ui-mass — skonsolidowane niżej; właściwości tła i border tu były dead-write
   (overwritten by main declaration). Usunięte. */
.nr-resin-pick{
  background:var(--nr-control-bg-dark);
  border:1px solid var(--nr-control-border-dark);
  color:var(--nr-control-text-dim);
  min-height:0;
  height:28px;
  padding:0 12px;
}
.nr-layout-resin .nr-resin-row.is-active .nr-resin-pick{
  background:var(--nr-accent);
  border-color:var(--nr-accent-soft);
  color:var(--nr-text-contrast);
}

/* --- MOLD MATERIAL BUTTONS: lower height --- */
.nr-layout-mold .nr-grid button{
  min-height:56px;
  padding:10px 12px;
  justify-content:center;
}
.nr-layout-mold .nr-grid button span{
  font-size:14px;
  line-height:1.2;
  transform: translateY(1px);
}

/* ===== Mobile: process modules in vertical readable layout ===== */

/* --- RANGE TRACK VISIBILITY (WebKit + Firefox) --- */
input[type="range"]{
  -webkit-appearance:none;
  appearance:none;
  --range-pct: 0%;
  --range-track-bg: var(--nr-surface-soft);
  --range-track-active: var(--nr-surface-chip-strong);
  --range-track-border: var(--nr-control-border-dark);
  --range-fill-start: var(--nr-accent-soft);
  --range-fill-end: var(--nr-accent);
  --range-fill-shadow: var(--nr-border-accent-ui);
  --range-thumb: var(--nr-paper-surface);
  --range-seg-gap: 6px;
  --range-seg-size: calc((100% - (9 * var(--range-seg-gap))) / 10);
  height:46px;
  padding:0;
  background:transparent;
  border:none;
  cursor:ew-resize;
}
input[type="range"]::-webkit-slider-runnable-track{
  height:40px;
  border-radius:14px;
  border:1px solid var(--range-track-border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 2px rgba(0,0,0,.35);
  background:
    linear-gradient(90deg, var(--range-track-active) 0%, var(--range-track-active) var(--range-pct), var(--range-track-bg) var(--range-pct), var(--range-track-bg) 100%),
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,0) 0,
      rgba(0,0,0,0) var(--range-seg-size),
      rgba(0,0,0,.16) var(--range-seg-size),
      rgba(0,0,0,.16) calc(var(--range-seg-size) + var(--range-seg-gap))
    ),
    linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:36px;
  height:34px;
  margin-top:2px;
  border-radius:12px;
  border:2px solid var(--nr-control-border-contrast);
  background:linear-gradient(180deg, var(--nr-paper-surface), var(--range-thumb));
  box-shadow:0 8px 20px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.55);
}
input[type="range"]::-moz-range-track{
  height:40px;
  border-radius:14px;
  border:1px solid var(--range-track-border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 2px rgba(0,0,0,.35);
  background: repeating-linear-gradient(
      90deg,
      var(--range-track-bg) 0,
      var(--range-track-bg) var(--range-seg-size),
      transparent var(--range-seg-size),
      transparent calc(var(--range-seg-size) + var(--range-seg-gap))
    );
}
input[type="range"]::-moz-range-progress{
  height:40px;
  border-radius:14px;
  background: repeating-linear-gradient(
      90deg,
      var(--range-track-active) 0,
      var(--range-track-active) var(--range-seg-size),
      transparent var(--range-seg-size),
      transparent calc(var(--range-seg-size) + var(--range-seg-gap))
    );
}
input[type="range"]::-moz-range-thumb{
  width:36px;
  height:34px;
  border-radius:12px;
  border:2px solid var(--nr-control-border-contrast);
  background:linear-gradient(180deg, var(--nr-paper-surface), var(--range-thumb));
  box-shadow:0 8px 20px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.55);
}
input[type="range"]:hover::-webkit-slider-runnable-track{
  filter:brightness(1.08);
}
input[type="range"]:focus-visible{
  outline:none;
}
input[type="range"]:focus-visible::-webkit-slider-thumb{
  box-shadow:0 0 0 3px var(--nr-border-accent-ui), 0 8px 20px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.55);
}
input[type="range"]:focus-visible::-moz-range-thumb{
  box-shadow:0 0 0 3px var(--nr-border-accent-ui), 0 8px 20px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.55);
}
input[type="range"].nr-accent-secondary{
  --range-fill-start:var(--nr-teal);
  --range-fill-end:var(--nr-info);
}
input[type="range"].nr-accent-primary{
  --range-fill-start:var(--nr-accent-soft);
  --range-fill-end:var(--nr-accent);
}
input[type="range"].nr-range-over-limit{
  --range-fill-start:var(--nr-warning);
  --range-fill-end:var(--nr-danger);
  --range-track-border: var(--nr-danger-brd);
  --range-fill-shadow: var(--nr-danger-soft);
}
input[type="range"].nr-range-over-limit::-webkit-slider-runnable-track{
  box-shadow:
    0 0 0 1px var(--nr-danger-brd),
    0 0 18px var(--nr-danger-soft),
    inset 0 1px 0 var(--nr-border-strong-ui),
    inset 0 -1px 2px rgba(0,0,0,.36);
  background:
    linear-gradient(90deg, var(--range-fill-start) 0%, var(--range-fill-end) var(--range-pct), var(--range-track-bg) var(--range-pct), var(--range-track-bg) 100%),
    repeating-linear-gradient(
      90deg,
      rgba(0,0,0,0) 0,
      rgba(0,0,0,0) var(--range-seg-size),
      rgba(0,0,0,.16) var(--range-seg-size),
      rgba(0,0,0,.16) calc(var(--range-seg-size) + var(--range-seg-gap))
    ),
    linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
input[type="range"].nr-range-over-limit::-webkit-slider-thumb{
  border-color: var(--nr-danger);
  box-shadow:
    0 0 0 3px var(--nr-danger-soft),
    0 8px 20px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.55);
}
input[type="range"].nr-range-over-limit::-moz-range-thumb{
  border-color: var(--nr-danger);
  box-shadow:
    0 0 0 3px var(--nr-danger-soft),
    0 8px 20px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.55);
}
input[type="range"].nr-range-over-limit::-moz-range-progress{
  background: linear-gradient(90deg, var(--range-fill-start), var(--range-fill-end));
}

/* --- Hierarchy pass: one strong primary panel + calmer secondary cards --- */
.nr-primary-panel{
  border-color: var(--nr-border-accent-ui);
  box-shadow: var(--nr-shadow-accent-cta), var(--nr-shadow-inset-ui);
}

/* ===== Hero menu rewrite (nrm) ===== */
#hero-nav-overlay{
  position:fixed;
  inset:0;
  z-index:var(--nr-z-nav);
  display:block;
  opacity:0;
  pointer-events:none;
  background:var(--nr-gradient-loader);
  visibility:hidden;
  backdrop-filter:blur(6px);
  transition:opacity .2s ease,visibility 0s linear .2s;
  overflow-y:auto;
  overflow-x:hidden;
}
#hero-nav-overlay.is-open{
  opacity:1;
  pointer-events:auto;
  visibility:visible;
  transition:opacity .2s ease;
}
#hero-nav-panel{
  position:absolute;
  top:5.15rem;
  right:1rem;
  width:min(420px,calc(100% - 2rem));
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  display:block;
  border-radius:22px;
  border:1px solid var(--nr-border-stronger);
  background:var(--nr-gradient-panel);
  box-shadow:var(--nr-shadow-mobile-panel);
  padding:1rem;
  transform:translateY(-10px) scale(.98);
  opacity:0;
  transition:transform .22s ease,opacity .22s ease;
}
#hero-nav-overlay.is-open #hero-nav-panel{
  transform:translateY(0) scale(1);
  opacity:1;
}
#hero-nav-overlay .nrm-close{
  position:absolute;
  top:1.5rem;
  right:3rem;
  z-index:var(--nr-z-nav-close);
}
#hero-nav-panel .nrm-links{
  display:block;
  margin:0;
  padding:0;
}
#hero-nav-panel .nrm-link{
  position:static;
  inset:auto;
  float:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin:0;
  padding:.62rem .15rem;
  border:0;
  border-bottom:1px solid var(--nr-border-strong-ui);
  background:transparent;
  color:var(--nr-text-strong-alpha);
  font-size:clamp(1rem,2.1vw,1.22rem);
  font-weight:650;
  line-height:1.15;
  text-decoration:none;
  text-transform:none;
  transition:color .16s ease,padding-left .16s ease,border-color .16s ease;
}
#hero-nav-panel .nrm-link + .nrm-link{
  margin-top:.18rem;
}
#hero-nav-panel .nrm-section-label{
  margin:.85rem 0 .22rem;
  color:var(--nr-accent);
  font-family:'Sora','Inter',sans-serif;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.18em;
  line-height:1;
  text-transform:uppercase;
  opacity:.8;
}
#hero-nav-panel .nrm-link + .nrm-section-label{
  margin-top:1.05rem;
}
#hero-nav-panel .nrm-link.is-active,
#hero-nav-panel .nrm-link:hover{
  color:var(--nr-accent);
  border-bottom-color:var(--nr-border-accent-strong);
}
#hero-nav-panel .nrm-link:hover{
  padding-left:.45rem;
}
#hero-nav-panel .nrm-link:focus-visible{
  outline:2px solid var(--nr-accent);
  outline-offset:2px;
  border-radius:10px;
}
#hero-nav-panel .nrm-dot{
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--nr-accent);
  opacity:.3;
  transition:opacity .15s ease,transform .15s ease;
}
#hero-nav-panel .nrm-link.is-active .nrm-dot,
#hero-nav-panel .nrm-link:hover .nrm-dot{
  opacity:1;
  transform:scale(1.22);
}
#hero-nav-panel .nrm-login{
  color:var(--nr-accent);
  font-weight:700;
}
#hero-nav-panel .hero-lang-switch--mobile{
  width:100%;
  justify-content:stretch;
  margin:.3rem 0 .72rem;
  padding:4px;
  background:var(--nr-surface-overlay-soft);
  border-color:var(--nr-border-strong-ui);
}
#hero-nav-panel .hero-lang-switch--mobile .hero-lang-link{
  flex:1;
  padding:9px 8px;
  color:var(--nr-text-strong-alpha);
}
#hero-nav-panel .hero-lang-switch--mobile .hero-lang-link.is-active,
#hero-nav-panel .hero-lang-switch--mobile .hero-lang-link:hover{
  background:var(--nr-accent);
  color:var(--nr-paper-surface);
}
@media(max-width:850px){
  #hero-nav-overlay .nrm-close{top:1.5rem;right:1.5rem}
  #hero-nav-panel{top:4.6rem;right:.7rem;width:calc(100% - 1.4rem);max-height:none;overflow:visible;padding:.82rem}
  #hero-nav-panel .nrm-link{font-size:1rem;padding:.56rem .08rem}
}

/* Laptop/Desktop balance pass: avoid text overlap on 14-16" screens */
@media (min-width: 1100px) and (max-width: 1700px){
  body.nr-home-page #hero-top.nr-home-swiss-hero{
    padding-top: 108px;
    padding-bottom: 18px;
  }
}

/* Ultra-wide desktop: center hero vertically and reduce bottom void */
@media (min-width: 1600px) and (min-height: 850px){
  body.nr-home-page .nr-home-swiss-frame{
    min-height: calc(92svh - 126px);
  }
}

/* Range accents: consistent brand + accent */
input[type="range"].nr-accent-secondary{
  --range-fill: var(--nr-info);
  --range-thumb: var(--nr-info);
}
input[type="range"].nr-accent-primary{
  --range-fill: var(--nr-accent);
  --range-thumb: var(--nr-accent);
}

/* ===== Mobile Readability Pass (no layout changes) ===== */
@media (max-width: 820px){
  /* 3) stronger separation lines for inputs */
  input,
  select,
	  textarea{
	    background-color: rgba(27,28,31,.82);
    border-color: rgba(255,255,255,.16);
  }

  /* 4) timeline chips / labels readability only */

  /* 5) chips/badges text contrast — explicit list */
  .badge,
  .nr-layerbadge,
  .nr-rec-ai-badge,
  .nr-rec-project-badge,
  .nr-tds-pill{
    color: rgba(236,242,250,.95);
    border-color: rgba(255,255,255,.22);
  }
}

/* Immersive photo workspace */
.nr-app-root.nr-immersive-on #nr-scroll-root{
  overflow:hidden;
}
.nr-app-root.nr-immersive-on::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:var(--nr-z-immersive);
  background:rgba(3,5,9,.98);
  pointer-events:none;
}
.nr-layout-visual.is-immersive{
  position:fixed;
  inset:8px;
  z-index:calc(var(--nr-z-immersive) + 10);
  height:auto;
  max-height:none;
  margin:0;
  padding:10px;
  border-radius:20px;
  background:#05070b;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 30px 90px rgba(0,0,0,.7);
}
.nr-layout-visual.is-immersive #nr-visualizer{
  height:100%;
  min-height:0;
}
.nr-layout-visual.is-immersive::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:rgba(3,5,9,.94);
  pointer-events:none;
}
.nr-app-root.nr-immersive-on #hero-main-header,
.nr-app-root.nr-immersive-on #nr-cookie-pill{
  opacity:0;
  pointer-events:none;
}
@media (max-width: 820px){
  .nr-app-root.nr-immersive-on::before{
    display:none;
    content:none;
  }
  .nr-layout-visual.is-immersive{
    position:relative;
    inset:auto;
    z-index:auto;
    border-radius:16px;
    box-shadow:0 14px 34px rgba(0,0,0,.42);
  }
  .nr-layout-visual.is-immersive::before{
    display:none;
    content:none;
  }
  .nr-app-root.nr-immersive-on #hero-main-header{
    opacity:1;
    pointer-events:auto;
  }
}
@media (max-width: 768px){
  .nr-layout-visual.is-immersive{
    inset:0;
    border-radius:0;
    padding:8px;
  }
}

/* Cookie pill hidden during immersive mode to avoid toolbar overlap */
.nr-app-root.nr-immersive-on #nr-cookie-pill{
  display:none;
  opacity:0;
  pointer-events:none;
}
/* Also hide cookie pill whenever editor toolbar is active (prevents overlap on mobile) */
.nr-app-root.nr-edit-lock #nr-cookie-pill{
  display:none;
  opacity:0;
  pointer-events:none;
}

/* ===== Hero depth (subtle, no global gloss) ===== */
.nr-layout-visual:not(.is-immersive){
  position: relative;
}
.nr-layout-visual:not(.is-immersive)::after{
  display: none;
}

/* Mobile perf: reduce expensive blur/repaint artifacts */
@media (max-width: 820px){
  #nr-scroll-root::after{
    display: none;
  }
}

#nr-scroll-root{
  contain: none;
}

html, body{
  overflow-x: clip;
}

@media (max-width: 820px){
  #nr-scroll-root{
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: auto;
    will-change: scroll-position;
  }
  /* remove only the heaviest noise layer on mobile */
  body::before{
    display: none;
    content: none;
  }
  .nr-layout-visual.has-image{
    /* Mobile: karta nie wymusza wysokości viewportu — strona może scrollować.
       Sensowna wewnętrzna wysokość żeby zdjęcie było widoczne, ale nie blokuje scrolla strony. */
    height: auto;
    min-height: 60svh;
    max-height: none;
  }
  .nr-layout-visual.has-image #nr-visualizer{
    min-height: 50svh;
  }
}

@media (min-width: 1024px){
  .nr-layout-visual.has-image{
    min-height: calc(100svh - 92px);
    max-height: calc(100svh - 92px);
  }
  .nr-layout-visual.has-image #nr-visualizer{
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    height: 100%;
  }
}

/* Ultra-wide displays: keep workspace proportional to viewport height */
@media (min-width: 1800px){
  .nr-layout-visual.has-image #nr-visualizer{
    width: min(100%, calc((100svh - 92px) * 1.9));
    margin-left: auto;
    margin-right: auto;
  }
}

/* Flatten nested "bento inside bento" for image workspace */
.nr-layout-visual.has-image{
  padding: 10px;
}
#nr-visualizer.has-image{
  background: transparent;
  border-color: rgba(255,255,255,.08);
  box-shadow: none;
  overflow: visible;
}
#nr-visualizer.has-image::after{
  display: none;
  content: none;
}
#nr-visualizer.has-image > .nr-canvaswrap.has-image{
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}
#nr-visualizer.has-image > .nr-canvaswrap.has-image::after{
  display: none;
  content: none;
}

/* Mobile hero simplification: remove heavy decorative layers and large vertical gap */
@media (max-width: 820px){
  html, body, #root, .nr-app-root, .nr-page-shell{
    max-width: 100%;
    overflow-x: clip;
  }
  #nr-scroll-root{
    padding-left: .5rem;
    padding-right: .5rem;
  }
  .nr-page-shell{
    width: 100%;
    max-width: 100%;
  }
  body.nr-home-page #hero-top.nr-home-swiss-hero{
    padding: 92px 10px 10px;
    min-height: auto;
    box-sizing: border-box;
  }
  body.nr-home-page #hero-top.nr-home-swiss-hero::before,
  body.nr-home-page #hero-top.nr-home-swiss-hero::after{
    display: none;
  }
  #hero-main-header,
  #hero-main-header.scrolled{
    padding: .85rem 1rem;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-sizing: border-box;
    width: 100%;
  }
  /* bez blura (perf) tło 86% przepuszczało tekst strony pod logo — przy scrollu daj prawie pełne */
  #hero-main-header.scrolled{
    background: rgba(16,16,18,.97);
  }
  #hero-main-header > *{
    min-width: 0;
  }
  .nr-ai-wrap{
    min-width: 0;
    padding: 0;
  }
  .nr-ai-wrap > div{
    min-width: 0;
  }
  .nr-ai-toggle{
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 7px 10px;
    min-height: 42px;
    border-radius: 8px;
  }
}

/* Unified toolbar layout (single source of truth) */

/* Demo7 toolbar variant (backup page only) */
.nr-main-menu-grid .nr-step-hint,
#nr-bento .nr-main-menu-grid > button.nr-step-hint{
  border-color: var(--nr-info-brd);
  background: linear-gradient(180deg, var(--nr-surface-info-strong), var(--nr-surface-info-ui));
  color: var(--nr-text-contrast);
  box-shadow: inset 0 0 0 1px var(--nr-info-brd), 0 0 0 3px var(--nr-surface-info-ui), 0 0 20px var(--nr-info-soft);
}
.nr-main-menu-grid .nr-step-hint.nr-step-hint--alt{
  border-color: var(--nr-success-brd);
  background: linear-gradient(180deg, var(--nr-surface-success-ui), var(--nr-success-soft));
  box-shadow: inset 0 0 0 1px var(--nr-success-brd), 0 0 0 4px var(--nr-success-soft), 0 0 22px var(--nr-surface-success-ui);
}

/* Demo7 toolbar (as in demo/toolbar-styles-lab.html) */
.nr-toolbar-dock{
  position: fixed;
  left: 50%;
  right: auto;
  bottom: max(16px, env(safe-area-inset-bottom, 0px) + 12px);
  z-index: var(--nr-z-dock-active);
  display: grid;
  grid-template-rows: auto auto;
  gap: 0;
  width: min(1060px, calc(100vw - 24px));
  max-width: calc(100vw - 24px);
  height: auto;
  margin: 0;
  pointer-events: none;
  isolation: isolate;
  transform: translateX(-50%);
  background: var(--nr-control-bg-deep);
  border: 1px solid var(--nr-control-border-dark);
  border-radius:12px;
  overflow: hidden;
}
.nr-toolbar-dock > *{ pointer-events: auto; }
.nr-toolbar-dock > *,
.nr-toolbar-dock > * *{
  position: relative;
  z-index: var(--nr-z-dock-active);
}
.nr-toolbar-tracker{
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--nr-control-bg-dark);
  border: 0;
  border-bottom: 1px solid var(--nr-control-border-dark);
  border-radius: 0;
  overflow: hidden;
  min-height: 30px;
  height: auto;
}
.nr-toolbar-step{
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 30px;
  height: auto;
  padding: 0 6px;
  cursor: pointer;
  font-family: "Bebas Neue", sans-serif;
  font-size: 12px;
  letter-spacing: .035em;
  color: var(--nr-control-text-faint);
  border: 0;
  border-right: 1px solid var(--nr-control-border-dark);
  background: transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nr-toolbar-step:last-child{ border-right:none; }
.nr-toolbar-step.active{ background: var(--nr-control-bg-active); color: var(--nr-control-text); }
.nr-toolbar-step.is-disabled,
.nr-toolbar-step:disabled{
  opacity: .42;
  cursor: not-allowed;
  pointer-events: auto; /* allow tooltip via title */
}
.nr-toolbar-shell{
  display:flex;
  flex-direction:column;
  gap:0;
  min-height:auto;
  background: var(--nr-control-bg-deep);
  border:0;
  border-radius:0;
  box-shadow:none;
  margin:0;
  overflow:visible;
}
.nr-toolbar-hint{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:32px;
  padding:5px 8px;
  border-bottom: 1px solid var(--nr-control-border-dark);
  color: var(--nr-control-text-dim);
  background: var(--nr-control-bg-strong);
}
.nr-toolbar-hint-text{
  flex:1;
  min-width:0;
  font-family:"IBM Plex Mono",monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nr-toolbar-hint-info{
  height:26px;
  padding:0 8px;
  border-radius:6px;
  border: 1px solid var(--nr-control-border-contrast);
  background: var(--nr-control-bg-active);
  color: var(--nr-control-text-soft);
  font-family:"Bebas Neue",sans-serif;
  font-size:15px;
  letter-spacing:.1em;
}
.nr-toolbar-row{
  display:flex;
  align-items:center;
  gap:5px;
  padding:0 7px;
  overflow-x:auto;
  overflow-y: hidden;
  flex-wrap:nowrap;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  height:0;
  max-height:0;
}
.nr-toolbar-row.active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  height:auto;
  max-height:500px;
  min-height:32px;
  overflow-y: hidden;
  padding:6px 7px;
}
.nr-toolbar-row::-webkit-scrollbar{ display:none; }
.nr-toolbar-row--wood.active{
  flex-wrap:nowrap;
  overflow-x:auto;
  row-gap:0;
}
.nr-toolbar-row--wood.active .nr-toolbar-btn{
  flex:0 0 auto;
  justify-content:center;
}
.nr-toolbar-row--form.active{
  flex-wrap: nowrap;
  gap: 8px;
}
.nr-toolbar-row--scale.active{
  flex-wrap: nowrap;
  gap: 8px;
}
.nr-toolbar-step-lbl{
  font-family:"Bebas Neue",sans-serif;
  font-size:17px;
  letter-spacing:.10em;
  color: var(--nr-control-text-mid);
}
.nr-toolbar-vl{
  width:1px;
  height:22px;
  background: var(--nr-control-border-dark);
  flex-shrink:0;
}
.nr-toolbar-input{
  display:flex;
  align-items:center;
  gap: 8px;
  background: var(--nr-control-bg-strong);
  border: 1px solid var(--nr-control-border-soft);
  border-radius:8px;
  overflow:hidden;
  max-width:220px;
  height:32px;
  padding:0 10px;
  color: var(--nr-control-text);
  font-family:"IBM Plex Mono",monospace;
  font-weight:700;
}
.nr-toolbar-input .label{
  font-family:"Bebas Neue",sans-serif;
  font-size:16px;
  letter-spacing:.05em;
  color: var(--nr-control-text-mid);
  white-space:nowrap;
  line-height:1;
}
.nr-toolbar-input input{
  width:64px;
  height:28px;
  border:0;
  outline:none;
  background:transparent;
  color: var(--nr-control-text);
  font-family:"IBM Plex Mono",monospace;
  font-weight:700;
  font-size:22px;
  text-align:right;
}
.nr-toolbar-input .unit{
  margin-left:4px;
  padding-left:8px;
  border-left: 1px solid var(--nr-control-border-soft);
  font-size:11px;
  letter-spacing:.12em;
  color: var(--nr-control-text-faint);
  text-transform:uppercase;
}
@media (max-width: 1024px){
  .nr-toolbar-input .label{
    font-size:14px;
    letter-spacing:.04em;
  }
  .nr-toolbar-input input{
    width:58px;
    font-size:20px;
  }
}
.nr-toolbar-sp{ flex:1; min-width:4px; }
.nr-toolbar-status{
  display:flex;
  align-items:center;
  gap:5px;
  font-family:"IBM Plex Mono",monospace;
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color: var(--nr-control-text-faint);
  white-space:nowrap;
}
.nr-toolbar-status .dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background: var(--nr-warning);
  box-shadow: 0 0 0 3px var(--nr-warning-soft);
}
.nr-toolbar-status .dot.ok{
  background: var(--nr-teal);
  box-shadow: 0 0 0 3px var(--nr-info-soft);
}
.nr-toolbar-btn{
  height:38px;
  padding:0 8px;
  border-radius:8px;
  border: 1px solid var(--nr-control-border-strong);
  background: var(--nr-control-bg-elevated);
  color: var(--nr-control-text-mid);
  font-family:"Bebas Neue",sans-serif;
  font-size:13px;
  letter-spacing:.045em;
  text-transform:uppercase;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
}

@media (min-width: 1025px){
  .nr-toolbar-tracker{
    min-height: 28px;
  }
  .nr-toolbar-step{
    min-height: 28px;
    font-size: 11px;
    letter-spacing: .02em;
    padding: 0 5px;
  }
  .nr-toolbar-row.active{
    gap: 4px;
    padding: 5px 6px;
  }
  .nr-toolbar-btn{
    height: 36px;
    font-size: 12px;
    letter-spacing: .02em;
    padding: 0 7px;
  }
}
.nr-toolbar-btn.confirm{
  background: var(--nr-surface-success-ui);
  border-color: var(--nr-success-brd);
  color: var(--nr-teal);
}
.nr-toolbar-btn.confirm.is-done{
  border-color: var(--nr-success);
  color: var(--nr-text-contrast);
  box-shadow: inset 0 0 0 1px var(--nr-success-brd), 0 0 0 2px var(--nr-success-soft), 0 0 16px var(--nr-surface-success-ui);
}
.nr-toolbar-btn.active{
  background: var(--nr-surface-accent-cta);
  border-color: var(--nr-text-contrast);
  color: var(--nr-text-contrast);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.76), 0 0 0 2px var(--nr-surface-accent-strong), 0 0 18px rgba(249,92,75,.30);
}
.nr-toolbar-btn.danger{
  background: var(--nr-danger-soft);
  border-color: var(--nr-danger-brd);
  color: var(--nr-danger);
}
html.nr-embed .nr-toolbar-dock.is-canvas-dock{
  top: clamp(510px, calc(100svh - 130px), 700px);
  bottom: auto;
}
.nr-toolbar-btn.pulse-alt{
  border-color: var(--nr-border-accent-strong);
  color: var(--nr-text-contrast);
  animation:nrFormChoicePulse .9s ease-in-out infinite;
}
.nr-toolbar-row--sloped.active{
  border-top: 1px solid var(--nr-border-soft-ui);
}
.nr-toolbar-slider-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  height:36px;
  padding:0 10px;
  border-radius:8px;
  border: 1px solid var(--nr-control-border-dark);
  background: var(--nr-control-bg-dark);
  font-family:"IBM Plex Mono",monospace;
  font-size:13px;
  letter-spacing:.06em;
  color: var(--nr-control-text-dim);
  text-transform:uppercase;
}
.nr-toolbar-slider-wrap > span{
  white-space:nowrap;
  line-height:1;
}
.nr-toolbar-slider{
  flex:1 1 auto;
  min-width:140px;
  width:auto;
  accent-color:#f5a524;
  -webkit-appearance:none;
  appearance:none;
  height:18px;
  background:transparent;
  border:none;
  margin:0;
  padding:0;
}
.nr-toolbar-slider::-webkit-slider-runnable-track{
  height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
}
.nr-toolbar-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  margin-top:-5px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(180deg, #f8f8f8, #d8d8d8);
  box-shadow:0 1px 6px rgba(0,0,0,.45);
}
.nr-toolbar-slider::-moz-range-track{
  height:10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.03));
}
.nr-toolbar-slider::-moz-range-thumb{
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(180deg, #f8f8f8, #d8d8d8);
  box-shadow:0 1px 6px rgba(0,0,0,.45);
}
.nr-toolbar-slider-wrap strong{
  font-size:12px;
  color: var(--nr-warning);
  min-width:52px;
  text-align:right;
}
.nr-toolbar-seg{
  display:flex;
  gap:2px;
  padding:2px;
  border-radius:8px;
  border: 1px solid var(--nr-control-border-dark);
  background: var(--nr-control-bg-dark);
}
.nr-toolbar-seg-btn{
  height:28px;
  padding:0 11px;
  border-radius:6px;
  border:1px solid transparent;
  background:transparent;
  color: var(--nr-control-text-faint);
  font-family:"Bebas Neue",sans-serif;
  font-size:12px;
  letter-spacing:.08em;
}
.nr-toolbar-seg-btn.on{
  background: var(--nr-surface-accent-cta);
  border-color: var(--nr-text-contrast);
  color: var(--nr-text-contrast);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), 0 0 0 2px var(--nr-surface-accent-strong), 0 0 14px rgba(249,92,75,.28);
}
.nr-toolbar-seg-btn.pulse-alt{
  border-color: var(--nr-border-accent-strong);
  color: var(--nr-text-contrast);
  animation:nrFormChoicePulse .9s ease-in-out infinite;
}
/* Hard mobile rules (class-driven, no media conflicts) */
.nr-toolbar-dock.is-mobile-dock{
  position: fixed;
  top: auto;
  left: 8px;
  right: 8px;
  bottom: calc(env(safe-area-inset-bottom, 0px) + 10px);
  display: grid;
  width: auto;
  min-width: 0;
  max-width: none;
  margin: 0;
  transform: none;
  will-change: auto;
  box-sizing: border-box;
  overflow: hidden;
  order: initial;
  align-self: auto;
  justify-self: auto;
  z-index: calc(var(--nr-z-dock-active) + 6);
  max-height: min(40svh, calc(100svh - 92px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  border-radius: 14px;
  box-shadow: var(--nr-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-shell{
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border-radius: 0 0 14px 14px;
  max-height: calc(min(40svh, calc(100svh - 92px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))) - 38px);
  -webkit-overflow-scrolling: touch;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-tracker{
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr);
  min-height: 36px;
  height: auto;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-step{
  min-width: 0;
  width: 100%;
  min-height: 36px;
  font-size: 11px;
  letter-spacing: .02em;
  line-height: 1.02;
  padding: 4px 3px;
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-hint-text{
  font-size: 11px;
  letter-spacing: .12em;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row.active{
  flex-wrap: wrap;
  overflow: visible;
  gap: 4px;
  padding: 4px;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row.active .nr-toolbar-vl,
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row.active .nr-toolbar-sp{
  display: none;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row.active .nr-toolbar-input{
  flex: 1 1 100%;
  max-width: none;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row.active .nr-toolbar-status{
  width: 100%;
  order: 2;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row.active .nr-toolbar-btn{
  flex: 1 1 calc(50% - 3px);
  min-width: 110px;
  height: 34px;
  font-size: 12px;
  letter-spacing: .02em;
  padding: 0 8px;
  text-overflow: ellipsis;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--wood.active{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 4px;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--wood.active .nr-toolbar-btn{
  width: 100%;
  min-width: 0;
  flex: initial;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--wood.active .nr-toolbar-status{
  grid-column: 1 / -1;
  width: 100%;
  order: initial;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--scale.active .nr-toolbar-btn{
  flex: 1 1 calc(33.333% - 3px);
  min-width: 0;
  font-size: 11px;
  letter-spacing: .015em;
  padding: 0 4px;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 4px;
  overflow: visible;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-step-lbl,
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-vl,
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-status{
  display: none;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-seg{
  display: contents;
  min-width: 0;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-seg-btn{
  height: 32px;
  width: 100%;
  min-width: 0;
  padding: 0 4px;
  text-align: center;
  justify-content: center;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-seg-btn.on{
  background: var(--nr-surface-accent-cta);
  border-color: var(--nr-text-contrast);
  color: var(--nr-text-contrast);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.75), 0 0 0 2px var(--nr-surface-accent-strong), 0 0 14px rgba(249,92,75,.28);
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active :is(.nr-toolbar-seg-btn, .nr-toolbar-btn){
  flex: 1 1 0;
  width: 100%;
  min-width: 0;
  height: 32px;
  font-size: 11px;
  letter-spacing: .03em;
  padding: 0 4px;
  font-family: "Bebas Neue", sans-serif;
  justify-content: center;
  border-radius: 8px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-btn.confirm{
  background: var(--nr-surface-success-ui);
  border-color: var(--nr-success-brd);
  color: var(--nr-teal);
  box-shadow: inset 0 0 0 1px var(--nr-success-soft);
}
.nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-btn.confirm.is-done{
  background: var(--nr-surface-success-ui);
  border-color: var(--nr-success);
  color: var(--nr-text-contrast);
  box-shadow: inset 0 0 0 1px var(--nr-success-brd), 0 0 12px var(--nr-surface-success-ui);
}
@keyframes nrFormChoicePulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(249,92,75,.00); background:rgba(249,92,75,.08); }
  50%{ box-shadow:0 0 0 3px rgba(249,92,75,.16), 0 0 18px rgba(249,92,75,.30); background:rgba(249,92,75,.16); }
}
/* Floating top toolbar — przyciski nad zdjęciem muszą być czytelne.
   Wzmacniamy tło + tekst (utility .nr-bg-* są zbyt transparentne nad fotem). */
.nr-edit-topbar > button {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.nr-edit-topbar > button.nr-bg-success-faint {
  background: rgba(74, 122, 92, 0.78);
  color: #ecffea;
  border-color: rgba(122, 200, 140, 0.55);
}
.nr-edit-topbar > button.nr-bg-scrim-sm,
.nr-edit-topbar > button.nr-bg-scrim-md {
  background: rgba(15, 17, 24, 0.78);
  color: #ededeb;
  border-color: rgba(255, 255, 255, 0.22);
}

.nr-exit-edit-pulse{
  animation: nrExitEditPulse 1.2s ease-in-out infinite;
}
@keyframes nrExitEditPulse{
  0%, 100%{
    box-shadow: 0 0 0 0 rgba(0,0,0,0);
    border-color: rgba(255,255,255,.15);
  }
  50%{
    box-shadow: 0 0 0 3px var(--nr-success-soft), 0 0 18px var(--nr-surface-success-ui);
    border-color: var(--nr-success-brd);
  }
}
.nr-scale-panel{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}
.nr-scale-panel__grid{
  width: 100%;
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 8px;
}
.nr-scale-panel__grid.is-mobile{
  grid-template-columns: 1fr 1fr;
}
.nr-scale-panel__measure.is-mobile{
  grid-column: 1 / -1;
}
.nr-numpad-overlay{
  position: fixed;
  inset: 0;
  z-index: var(--nr-z-modal-raised);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: rgba(3, 6, 14, .62);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  padding: 14px 12px calc(env(safe-area-inset-bottom, 0px) + 10px);
  touch-action: none;
}
.nr-numpad-sheet{
  width: min(560px, 100%);
  border-radius: 22px;
  border: 1px solid var(--nr-border-strong-ui);
  background:
    linear-gradient(180deg, var(--nr-surface-chip-strong), var(--nr-surface-faint)),
    var(--nr-bg-strong);
  box-shadow: var(--nr-shadow);
  padding: 12px;
}
.nr-numpad-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.nr-numpad-head-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}
.nr-numpad-title{
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nr-text-strong-alpha);
}
.nr-numpad-clear{
  height: 34px;
  min-width: 78px;
  border-radius: 10px;
  border: 1px solid var(--nr-border-accent-ui);
  background: var(--nr-surface-accent-cta);
  color: var(--nr-text-contrast);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.nr-numpad-close{
  height: 34px;
  min-width: 34px;
  border-radius: 10px;
  border: 1px solid var(--nr-border-stronger);
  background: var(--nr-surface-chip);
  color: var(--nr-text-soft-alpha);
  font-weight: 900;
}
.nr-numpad-display{
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--nr-border-accent-strong);
  background: var(--nr-accent-dim);
  color: var(--nr-text-contrast);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: .04em;
  margin-bottom: 12px;
}
.nr-numpad-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.nr-numpad-key{
  height: 48px;
  border-radius: 12px;
  border: 1px solid var(--nr-border-emphasis);
  background: var(--nr-surface-chip);
  color: var(--nr-text);
  font-size: 20px;
  font-weight: 900;
  touch-action: manipulation;
}
.nr-numpad-key--ghost{
  font-size: 19px;
  color: rgba(255,255,255,.9);
}
.nr-numpad-key--ok{
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(34,197,94,.24);
  border-color: rgba(34,197,94,.45);
}
@media (max-width: 640px){
  .nr-numpad-sheet{
    border-radius: 18px;
    padding: 10px;
  }
  .nr-numpad-display{
    height: 52px;
    font-size: 24px;
    margin-bottom: 10px;
  }
  .nr-numpad-key{
    height: 44px;
    font-size: 18px;
  }
}
.nr-shape-choice-row{
  min-width: 0;
}
@media (min-width: 1025px){
  .nr-dynbento.is-canvas-dock .nr-shape-choice-row{
    width: fit-content;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    justify-content: center;
    overflow-x: visible;
  }
}
@media (max-width: 1024px){
  .nr-layout-visual:has(.nr-dynbento){
    overflow: visible;
  }
  #nr-visualizer:has(+ .nr-dynbento),
  #nr-visualizer:has(~ .nr-dynbento){
    overflow: visible;
  }
  .nr-main-menu-grid{
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-flow: row;
    gap: 6px;
    width: 100%;
  }
  /* Mobile/tablet: keep labels readable by removing icons in main menu */
  .nr-main-menu-two-line{
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    text-align: center;
  }
  .nr-main-menu-two-line > span{
    white-space: nowrap;
    display: block;
  }
}
@media (max-width: 820px){
  /* Top step hint: centered and narrower (not full-width) */

  /* Make button 3 wider on phone: 1 and 2 slightly narrower */
}

/* Layer summary labels: WARSTW / MAX / OSTATNIA */
.nr-layersummary .nr-layerstats .nr-stat .nr-layerstat-k{
  color: #f3f6fb;
  opacity: 1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-shadow: 0 1px 0 rgba(0,0,0,.28);
}

/* Canvas fit and workspace sizing */
.nr-layout-visual.has-image{
  padding: 6px;
}
.nr-layout-visual.has-image.is-editing{
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.nr-layout-visual.has-image #nr-visualizer{
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 14px;
}
#nr-visualizer.has-image{
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  background:
    radial-gradient(900px 520px at 50% 45%, rgba(255,255,255,.035), transparent 64%),
    #17191d;
}
#nr-visualizer.has-image > .nr-canvas-stage{
  width:100%;
  height:100%;
  min-height:0;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(760px 440px at 50% 48%, rgba(255,255,255,.045), transparent 62%),
    #17191d;
  border-radius:10px;
}
#nr-visualizer.has-image > .nr-canvaswrap.has-image{
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
}

@media (min-width: 1024px){
  .nr-layout-visual.has-image{
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .nr-layout-visual.has-image #nr-visualizer{
    width: 100%;
  }
}

/* === Flat bento modules (no hover, no backgrounds) === */
/* DOBIERZ ŻYWICĘ — wyraźny accent CTA */
.nr-rec-section.nr-ui-rec .nr-rec-btn{
  background: var(--nr-accent);
  color: var(--nr-text-contrast);
  border: 1px solid var(--nr-accent-soft);
  box-shadow: 0 6px 18px rgba(199,92,74,.32), inset 0 1px 0 rgba(255,255,255,.12);
}
.nr-rec-section.nr-ui-rec .nr-rec-btn:hover{
  background: var(--nr-accent-soft);
  box-shadow: 0 8px 22px rgba(199,92,74,.40), inset 0 1px 0 rgba(255,255,255,.16);
  transform: translateY(-1px);
}

/* === Mass balance simplified (no bento-in-bento) ===
   (padding skonsolidowane w głównej deklaracji niżej) */
.nr-ui-mass .nr-mass-flat{
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}
.nr-ui-mass .nr-mass-flat .nr-mass-row{
  border: 0;
  border-bottom: 1px solid var(--nr-border-strong-ui);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  margin: 0;
  padding: 12px 0;
}
.nr-ui-mass .nr-mass-flat .nr-mass-row:last-child{
  border-bottom: 0;
}

/* Mass balance flat look: ograniczone wyłącznie do mass-flat (rows already styled inline above) */
.nr-ui-mass .nr-mass-summary-grid,
.nr-ui-mass .nr-mass-metric{
  background: transparent;
  background-image: none;
  box-shadow: none;
}

/* Mass balance flat look — explicit utility-class list (no wildcards) */
.nr-ui-mass .nr-bg-abyss,
.nr-ui-mass .nr-bg-accent-dim,
.nr-ui-mass .nr-bg-accent-faint,
.nr-ui-mass .nr-bg-accent-solid,
.nr-ui-mass .nr-bg-amber-dim,
.nr-ui-mass .nr-bg-amber-faint,
.nr-ui-mass .nr-bg-black,
.nr-ui-mass .nr-bg-danger-dim,
.nr-ui-mass .nr-bg-danger-faint,
.nr-ui-mass .nr-bg-danger-grad,
.nr-ui-mass .nr-bg-darkest,
.nr-ui-mass .nr-bg-emerald,
.nr-ui-mass .nr-bg-emerald-dim,
.nr-ui-mass .nr-bg-grad-r,
.nr-ui-mass .nr-bg-hover,
.nr-ui-mass .nr-bg-lime,
.nr-ui-mass .nr-bg-scrim,
.nr-ui-mass .nr-bg-scrim-md,
.nr-ui-mass .nr-bg-scrim-sm,
.nr-ui-mass .nr-bg-subtle,
.nr-ui-mass .nr-bg-success-faint,
.nr-ui-mass .nr-bg-success-solid,
.nr-ui-mass .nr-bg-white{
  background: transparent;
  background-image: none;
}

/* === .nr-ui-mass — JEDYNA pełna deklaracja (skonsolidowana z 4 wcześniejszych) === */
.nr-ui-mass{
  padding: 16px;
  border: 1px solid var(--nr-border-strong-ui);
  border-radius: 24px;
  background: var(--nr-surface-overlay-soft);
  box-shadow: var(--nr-shadow-utility-lg), inset 0 1px 0 var(--nr-border-faint);
}
.nr-ui-mass .nr-mass-row--ratio > .relative{
  border-radius: 14px;
  border: 1px solid var(--nr-border-emphasis);
  background: var(--nr-surface-soft-strong);
  box-shadow: inset 0 1px 0 var(--nr-border-strong-ui);
}
.nr-ui-mass .nr-ratioA{
  background: var(--nr-success-soft);
}
.nr-ui-mass .nr-ratioB{
  background: var(--nr-warning-soft);
}

/* === Animated perimeter pulse for "REKOMENDACJA (WARSTWY)" === */
@property --nr-risk-ring-angle{
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
@keyframes nrRiskRingSpin{
  to{ --nr-risk-ring-angle: 1turn; }
}
@keyframes nrRiskRingPulse{
  0%, 100%{ opacity: .28; }
  50%{ opacity: .72; }
}
.nr-alertPulse.is-hot .nr-risk-plan{
  position: relative;
  isolation: isolate;
}
.nr-alertPulse.is-hot .nr-risk-plan::before,
.nr-alertPulse.is-hot .nr-risk-plan::after{
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  pointer-events: none;
  padding: 2px;
  background: conic-gradient(
    from var(--nr-risk-ring-angle),
    rgba(251,113,133,0) 0deg,
    rgba(251,113,133,0) 286deg,
    rgba(251,113,133,.95) 326deg,
    rgba(254,202,202,.95) 344deg,
    rgba(251,113,133,0) 1turn
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.nr-alertPulse.is-hot .nr-risk-plan::before{
  animation: nrRiskRingSpin 2.6s linear infinite;
}
.nr-alertPulse.is-hot .nr-risk-plan::after{
  filter: blur(7px);
  animation: nrRiskRingSpin 2.6s linear infinite, nrRiskRingPulse 1.8s ease-in-out infinite;
}

@media (max-width: 820px){
  .nr-layout-visual.has-image.is-editing{
    /* Bez position:fixed — karta w naturalnym flow, strona może scrollować w górę/dół.
       Canvas i tak ma touchAction:none na swoim layerze, więc gesty wewnątrz canvasu działają osobno. */
    position: relative;
    height: auto;
    min-height: 70svh;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }
  .nr-layout-visual.has-image.is-editing .nr-ai-wrap{
    display: none;
  }
  .nr-layout-visual.has-image.is-editing #nr-visualizer{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    height: 100%;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #0c1118;
    box-sizing: border-box;
  }
  .nr-layout-visual.has-image.is-editing #nr-visualizer > .nr-toolbar-dock.is-mobile-dock{
    flex: initial;
    margin: 0;
  }
  .nr-layout-visual.has-image.is-editing #nr-visualizer > .nr-canvas-stage{
    flex: 1 1 0;
    min-height: 0;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    order: initial;
    overflow: hidden;
  }
  .nr-layout-visual.has-image.is-editing #nr-visualizer > .nr-canvas-stage > .nr-canvas-stage-inner.nr-canvaswrap.has-image{
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .nr-layout-visual.has-image.is-editing #nr-visualizer > .nr-canvas-stage > .nr-canvas-stage-inner.nr-canvaswrap.has-image .nr-canvaszoom{
    max-width: 100%;
    max-height: 100%;
  }
  .nr-layout-visual.has-image:not(.is-editing){
    height: auto;
    min-height: 320px;
    max-height: none;
    position: relative;
    top: auto;
  }
  .nr-layout-visual.has-image:not(.is-editing) #nr-visualizer{
    height: auto;
    min-height: 320px;
  }
}

/* === NEW DESIGN: Work window + timeline (clean v3) === */
.nr-work-next,
.nr-time-next{
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 2px 0 0;
}
.nr-work-next__hint,
.nr-time-next__hint{
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .03em;
  color: rgba(206,215,229,.62);
}
.nr-bento-module{
  border-radius: 24px;
}
.nr-bento-module--secondary{
  border-radius: 22px;
}
.nr-bento-module--summary{
  border-radius: 24px;
}
.nr-bento-chip{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(18,23,33,.45);
  border-radius:10px;
}

.nr-rec-project-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:0;
}

/* Wood edge input: optical centering and better fit */
.nr-wood-edge-label{
  align-items:center;
}
.nr-wood-edge-value{
  display:inline-flex;
  align-items:center;
  line-height:1;
  color: rgba(228,236,247,.72);
  font-size: 11px;
  letter-spacing: .02em;
}
.nr-wood-edge-input{
  height:36px;
  width:100%;
  text-align:center;
  line-height:36px;
  padding:0 34px 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(148,163,184,.28);
  background: rgba(10,14,20,.65);
  color: #e5edf9;
  box-shadow: none;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  padding-top:0;
  padding-bottom:0;
  appearance: auto;
  -webkit-appearance: auto;
  transition: border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.nr-wood-edge-input::-webkit-outer-spin-button,
.nr-wood-edge-input::-webkit-inner-spin-button{
  margin:0;
  opacity:.55;
  filter: invert(1) brightness(.92);
}
.nr-wood-edge-input:hover{
  border-color: rgba(157,174,197,.45);
  background: linear-gradient(180deg, rgba(10,14,20,.72), rgba(10,14,20,.58));
  box-shadow: 0 0 0 1px rgba(148,163,184,.08) inset;
}
.nr-wood-edge-input:focus,
.nr-wood-edge-input:focus-visible{
  outline: none;
  border-color: var(--nr-border-accent-strong);
  box-shadow:
    0 0 0 1px var(--nr-border-accent-ui),
    var(--nr-shadow-utility-lg);
  background: linear-gradient(180deg, rgba(10,14,20,.72), rgba(10,14,20,.58));
}
.nr-rec-error{
  margin-top:12px;
  padding:12px 16px;
  border-radius:12px;
  background:var(--nr-danger-soft);
  border:1px solid var(--nr-danger-brd);
  color:var(--nr-danger);
  font-size:12px;
  font-weight:600;
}

@media (max-width: 820px){
  .nr-work-next,
  .nr-time-next{
    padding:8px;
  }
  .nr-work-next__hint,
  .nr-time-next__hint{ font-size:10px; }
  .nr-workline,
  .nr-timeline-line{
    padding-left:4px;
    padding-right:4px;
  }
  .nr-workline__summary,
  .nr-timeline-line__summary{ gap:6px; }
  .nr-workline__summary-k,
  .nr-timeline-line__summary-k{ font-size:10px; }
  .nr-workline__summary-v,
  .nr-timeline-line__summary-v{ font-size:12px; }
}

/* ═══════════════════════════════════════
   TOOLBAR — unified button system
   (no mix-blend-mode conflicts)
   ═══════════════════════════════════════ */

/* Container: dark glassmorphism */

/* All toolbar buttons — visible, mix-blend-mode: normal */

/* Confirm buttons must stay green (override generic toolbar button skin) */

/* Hint label: always fully visible */

/* Segmented active state */

/* Dynamic shell: transparent bg, no border */

/* ── Toolbar separator ─────────────────── */
/* Thin vertical line between logical button groups (main menu only) */
.nr-toolbar-sep {
  width: 1px;
  min-height: 20px;
  align-self: stretch;
  background: rgba(255,255,255,.13);
  margin: 0 3px;
  flex-shrink: 0;
  border-radius: 1px;
}

/* GOTOWE: subtle left gap to visually separate from tool buttons above */
.nr-pro-row2-done,
.nr-poly-row2-done {
  margin-left: 4px;
}

/* ── Main menu: flow vs utils ──────────── */
/* OBRÓT gets a subtle separator before it (FORMA/DREWNO | OBRÓT/RESET) */

/* Utils (OBRÓT, RESET): slightly lower opacity to signal secondary role */

/* Wood submenu: keep complete rows */

/* Remove global bottom fade while dynamic toolbar is open */

/* ═══════════════════════════════════════
   WOOD SPECIES MODULE — monochrome
   ═══════════════════════════════════════ */
.nr-layout-wood{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-image:
    linear-gradient(180deg, rgba(31,32,35,.94), rgba(23,24,26,.96)),
    repeating-linear-gradient(8deg,
      rgba(194,106,97,.08) 0 2px,
      transparent 2px 20px),
    repeating-linear-gradient(-14deg,
      rgba(126,196,184,.055) 0 1px,
      transparent 1px 16px);
  background-blend-mode: normal, screen, screen;
}
.nr-layout-wood .nr-wood-grain-layer{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  border-radius:inherit;
  opacity:.58;
  background:
    linear-gradient(180deg, rgba(17,18,20,.42), rgba(14,14,16,.50)),
    url('./wood-grain-lines.svg');
  background-size:cover, cover;
  background-position:center, center;
  background-repeat:no-repeat, no-repeat;
  filter: contrast(1.16) saturate(1.08) brightness(1.08);
  mix-blend-mode:normal;
}
.nr-layout-wood > :not(.nr-wood-grain-layer){
  position:relative;
  z-index:2;
}
/* hard override against generic "flat" reset layers */
/* Dekoracyjny overlay (kropki coral+teal z mix-blend-mode: overlay) wyłączony — paskudnie
   prześwitywał przez kontrolki formularza. Wood-grain layer poniżej zostaje, ale ze stonowaną opacity. */
.nr-layout-wood::before{
  content: none;
}
.nr-layout-wood .nr-wood-grain-layer{
  opacity: .22;
}

/* ── Wood row: solid kontrolki — żeby tło/słoje nie przeświecały przez selecty, inputy i TAK/NIE ── */
.nr-layout-wood .nr-bg-subtle,
#root .nr-layout-wood select.nr-bg-subtle,
#root .nr-layout-wood .nr-wood-edge-input,
#root .nr-layout-wood button.nr-btn-idle,
#root .nr-layout-wood .nr-btn-idle,
#root .nr-layout-wood .nr-bg-white{
  background-color: #1f2124;
  background-image: none;
  border-color: rgba(255,255,255,.08);
}
/* Active TAK/NIE (white) — w obrębie wood lekko jaśniejszy, ale dalej solid */
#root .nr-layout-wood button.nr-bg-white,
#root .nr-layout-wood .nr-bg-white{
  background-color: #2c2e34;
  color: var(--nr-text);
  border-color: rgba(255,255,255,.14);
}
#root .nr-layout-wood .nr-wood-edge-input:hover,
#root .nr-layout-wood .nr-wood-edge-input:focus,
#root .nr-layout-wood .nr-wood-edge-input:focus-visible{
  background-color: #25272b;
}
#root .nr-layout-wood button.nr-btn-idle:hover,
#root .nr-layout-wood .nr-btn-idle:hover{
  background-color: #26282d;
}
/* Wszystkie BEZpośrednie dzieci .nr-layout-wood (poza grain-layer) na samej górze */
#root .nr-layout-wood > :not(.nr-wood-grain-layer){
  position: relative;
  z-index: 5;
}
@media (max-width: 820px){
  .nr-layout-wood::before{
    opacity:.78;
  }
}

/* Scrollable species grid */
.nr-wood-scroll{
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.10) transparent;
}
.nr-wood-scroll::-webkit-scrollbar{ width: 4px; }
.nr-wood-scroll::-webkit-scrollbar-track{ background: transparent; }
.nr-wood-scroll::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.10);
  border-radius: 99px;
}
.nr-wood-scroll::-webkit-scrollbar-thumb:hover{
  background: rgba(255,255,255,.18);
}

/* Fade bottom of scroll list */
.nr-layout-wood .nr-wood-scroll-wrap{
  position: relative;
}
.nr-layout-wood .nr-wood-scroll-wrap::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 32px;
  background: linear-gradient(to bottom, transparent, var(--nr-bg-deep));
  pointer-events: none;
  z-index: 1;
}

/* ── flow strip (zacznij projekt) ── */
.nr-empty-kicker-wrap{
  text-align:center;
  margin-bottom:22px;
}
.nr-empty-kicker,
.nr-ghost-btn,
.nr-step{
  text-transform: uppercase;
}
/* .nr-step ma swoją pełną deklarację niżej (display:inline-flex) — wyłączamy ją z tej grupy */
.nr-empty-row,
.nr-steps-bar,
.nr-dropzone-icon,
.nr-ghost-btn{
  display:flex;
  align-items:center;
  justify-content:center;
}
.nr-empty-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  background: var(--nr-surface-soft);
  border: 1px solid var(--nr-border-mid);
  border-radius:999px;
  padding:5px 14px 5px 10px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.2em;
  color: var(--nr-text-dim);
}
.nr-empty-kicker-dot{
  width:5px; height:5px;
  border-radius:50%;
  background:var(--nr-accent-soft);
  flex-shrink:0;
  box-shadow:0 0 7px var(--nr-border-accent-strong);
  animation:nr-dot-pulse 2.4s ease-in-out infinite;
}
@keyframes nr-dot-pulse{
  0%,100%{ opacity:1; box-shadow:0 0 7px var(--nr-border-accent-strong); }
  50%{ opacity:.55; box-shadow:0 0 3px var(--nr-border-accent-ui); }
}

/* ── Dropzone — hero upload area ── */
.nr-dropzone{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
  max-width:480px;
  margin:0 auto 14px;
  min-height:148px;
  padding:28px 24px;
  border:1.5px dashed var(--nr-border-strong-ui);
  border-radius:20px;
  background:var(--nr-surface-faint);
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease;
}
.nr-dropzone:hover{
  border-color:var(--nr-border-accent-ui);
  background:var(--nr-surface-soft-strong);
}
.nr-dropzone:hover .nr-dropzone-icon{
  background:var(--nr-surface-chip-strong);
  color:var(--nr-text-subtle-strong);
}
.nr-dropzone-icon{
  width:52px; height:52px;
  border-radius:14px;
  background:var(--nr-surface-strong);
  color:var(--nr-text-dim);
  transition:background .2s ease, color .2s ease;
}
.nr-dropzone-title{
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  color:var(--nr-text-soft-alpha);
  line-height:1;
}
.nr-dropzone-sub{
  font-size:12px;
  color:var(--nr-text-dim);
  font-weight:500;
  letter-spacing:.01em;
}

/* ── Ghost buttons row ── */
.nr-empty-row{
  gap:8px;
  margin:0 auto 26px;
}
.nr-ghost-btn{
  height:30px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid var(--nr-border-soft-plus);
  background:transparent;
  color:var(--nr-text-dim);
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
  display:inline-flex;
  gap:5px;
  cursor:pointer;
  transition:background .18s, border-color .18s, color .18s;
}
.nr-ghost-btn:hover{
  background:var(--nr-surface-strong);
  border-color:var(--nr-border-strong);
  color:var(--nr-text-subtle-strong);
}
.nr-ghost-btn--dim{
  color:var(--nr-text-faint);
  border-color:var(--nr-border-faint);
}
.nr-ghost-btn--dim:hover{
  color:var(--nr-text-subtle);
  border-color:var(--nr-border-strong-ui);
}
.nr-empty-sep{
  color:var(--nr-border-strong);
  font-size:16px;
  line-height:1;
  user-select:none;
}

/* ── Steps bar (lightweight inline) ── */
.nr-steps-bar{
  gap:0;
  margin:0 auto 0;
  flex-wrap:wrap;
  row-gap:6px;
}
.nr-step{
  display:inline-flex;
  gap:7px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--nr-text-dim);
  white-space:nowrap;
  padding:4px 2px;
}
.nr-step.is-active{
  color:var(--nr-accent-soft);
}
.nr-step-arr{
  display:inline-block;
  width:24px;
  text-align:center;
  font-size:11px;
  color:var(--nr-text-faint);
  flex-shrink:0;
}
.nr-step-arr::after{ content:"→"; }

@media (min-width: 600px) {
  .nr-flow-strip {
    grid-template-columns: 1fr 14px 1fr 14px 1fr 14px 1fr;
    max-width: 100%;
  }
}
@media (min-width: 600px) {
  .nr-flow-arrow { display: flex; }
}

/* ── summary bar 7-card grid (responsive) ── */
.nr-sum-bar {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr)); /* 8 kafelków (doszedł KOSZT) */
  gap: 8px;
}

/* Pole ceny zł/kg przy "Koszt żywicy" w Bilansie Masowym */
.nr-price-input {
  width: 72px;
  height: 26px;
  padding: 0 8px;
  border-radius: 7px;
  border: 1px solid var(--nr-border-strong-ui);
  background: var(--nr-surface-faint);
  color: var(--nr-text);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
}
.nr-price-input:focus-visible {
  outline: none;
  border-color: var(--nr-border-accent-ui);
}
@media (max-width: 1100px) {
  .nr-sum-bar {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .nr-sum-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  /* Ostatnia karta (Czas pracy) sama w wierszu — wyśrodkować + SVG fale po bokach
     (motyw inspirowany kartą "transparent" z guide'u barwników) */
  .nr-sum-bar > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(62%, 240px);
    position: relative;
    overflow: visible;
  }
  .nr-sum-bar > :last-child:nth-child(odd)::before,
  .nr-sum-bar > :last-child:nth-child(odd)::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: clamp(54px, 18vw, 86px);
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 60%;
    opacity: 0.5;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 48' preserveAspectRatio='none'><g fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'><path stroke-width='1.1' opacity='.18' d='M0 6 C29 2 46 10 72 10 C98 10 116 2 144 2 C170 2 188 10 216 10 C224 10 228 9 232 8'/><path stroke-width='1.2' opacity='.28' d='M0 13 C29 9 46 17 72 17 C98 17 116 9 144 9 C170 9 188 17 216 17 C224 17 228 16 232 15'/><path stroke-width='1.3' opacity='.40' d='M0 20 C29 16 46 24 72 24 C98 24 116 16 144 16 C170 16 188 24 216 24 C224 24 228 23 232 22'/><path stroke-width='1.4' opacity='.56' d='M0 27 C29 23 46 31 72 31 C98 31 116 23 144 23 C170 23 188 31 216 31 C224 31 228 30 232 29'/><path stroke-width='1.5' opacity='.70' d='M0 34 C29 30 46 38 72 38 C98 38 116 30 144 30 C170 30 188 38 216 38 C224 38 228 37 232 36'/><path stroke-width='1.7' opacity='.90' d='M0 41 C29 37 46 45 72 45 C98 45 116 37 144 37 C170 37 188 45 216 45 C224 45 228 44 232 43'/></g></svg>");
  }
  .nr-sum-bar > :last-child:nth-child(odd)::before {
    right: 100%;
    margin-right: 6px;
    /* fade left → in toward card so fala "wlewa się" w kartę */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 100%);
            mask-image: linear-gradient(to right, transparent 0%, #000 100%);
  }
  .nr-sum-bar > :last-child:nth-child(odd)::after {
    left: 100%;
    margin-left: 6px;
    transform: scaleX(-1); /* lustro po prawej */
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 100%);
            mask-image: linear-gradient(to right, transparent 0%, #000 100%);
  }
}

/* ── Gatunek Drewna row: mobile = grid 2 kolumny (Gatunek+Krawędź obok), desktop = single row ── */
.nr-wood-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 8px;
}
.nr-wood-row > * {
  min-width: 0;
  grid-column: 1 / -1; /* domyślnie cały wiersz */
}
/* Pierwsze 2 dzieci (Gatunek + Krawędź styku) dzielą wiersz */
.nr-wood-row > :nth-child(1),
.nr-wood-row > :nth-child(2) {
  grid-column: auto;
}
@media (min-width: 640px) {
  .nr-wood-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 12px;
  }
  .nr-wood-row > * {
    flex: 1 1 0%;
    grid-column: auto;
  }
}

/* ── Dot-grid charts row (3 panels) ── */
@media (max-width: 680px) {
  .nr-petal-row { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .nr-petal-wrap { border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); }
  .nr-petal-wrap:last-child { border-bottom: none; }
}

/* ===========================
   Dark Theme readability tune (subtle)
   Scope: calculator panels/cards only
   =========================== */

/* ===========================
   DropZone component (dz-*)
   =========================== */
/* ── DropZone bento ── */
.dz-root {
  background: transparent;
  border-radius: 0;
  border: 0;
  padding: 0;
  color: var(--nr-text);
  font-family: 'Sora', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.dz-inner {
  display: flex;
  min-height: 420px;
  width: 100%;
  border-radius: 0;
  overflow: hidden;
}

/* Left animated side */
.dz-brand {
  width: 44%;
  flex-shrink: 0;
  background: transparent;
  position: relative;
  overflow: visible;
  border-radius: 0;
}
.dz-shape { position: absolute; }
.s-purple {
  width: 130px; height: 158px; background: #7C3AED;
  border-radius: 16px; top: 48px; left: 50px;
  box-shadow: 0 10px 28px rgba(124,58,237,.32);
  animation: dz-bob0 6s ease-in-out infinite;
}
.s-orange {
  width: 158px; height: 79px; background: #EA580C;
  border-radius: 158px 158px 0 0; top: 64px; right: 52px;
  box-shadow: 0 8px 20px rgba(234,88,12,.28);
  animation: dz-bob1 6s 1s ease-in-out infinite;
}
.s-yellow {
  width: 138px; height: 138px; background: #CA8A04;
  border-radius: 50%; bottom: 48px; left: 48px;
  box-shadow: 0 8px 20px rgba(202,138,4,.26);
  animation: dz-bob2 6s .5s ease-in-out infinite;
}
.s-dark {
  width: 132px; height: 156px; background: #1e2028;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px; bottom: 40px; right: 54px;
  box-shadow: 0 12px 28px rgba(0,0,0,.5);
  animation: dz-bob3 6s 1.8s ease-in-out infinite;
}
@keyframes dz-bob0 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-11px)} }
@keyframes dz-bob1 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-13px)} }
@keyframes dz-bob2 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-9px)} }
@keyframes dz-bob3 { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

/* Shape faces */
.dz-face { position: absolute; width: 100%; }
.dz-eyes { display: flex; justify-content: center; }
.s-purple .dz-eyes { padding-top: 48px; gap: 18px; }
.s-orange .dz-eyes { padding-top: 20px; gap: 20px; }
.s-yellow .dz-eyes { padding-top: 40px; gap: 18px; }
.s-dark   .dz-eyes { padding-top: 48px; gap: 20px; }
.dz-eye { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.88); }
.s-yellow .dz-eye { background: rgba(0,0,0,.6); }
.dz-mouth { width: 26px; height: 11px; border-bottom: 2px solid rgba(255,255,255,.7); border-radius: 0 0 20px 20px; margin: 8px auto 0; }
.s-yellow .dz-mouth { border-color: rgba(0,0,0,.5); }
.s-dark .dz-mouth { border-bottom: none; border-top: 2px solid rgba(255,255,255,.35); border-radius: 20px 20px 0 0; margin-top: 7px; }

/* Right panel */
.dz-right {
  flex: 1;
  min-width: 0;
  background: transparent;
  border-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 28px 24px;
}
.dz-section-title {
  font-family: 'Syne', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--nr-text);
  letter-spacing: -0.01em;
  line-height: 1.15;
  margin-bottom: 3px;
}
.dz-section-sub {
  font-size: 12px;
  color: var(--nr-text-sec);
  margin-bottom: 14px;
  line-height: 1.5;
}

/* Drop area */
.dz-area {
  border: 1.5px dashed var(--nr-border-strong-ui);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  padding: 22px 16px;
  transition: border-color .18s, background .18s;
  background: var(--nr-surface-faint);
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
  min-height: 120px;
}
.dz-area:hover, .dz-area.dz-dragover {
  border-color: var(--nr-border-accent-ui);
  background: var(--nr-surface-soft-strong);
}
.dz-area.dz-has-file {
  border-style: solid;
  border-color: var(--nr-border-soft-plus);
  padding: 0;
  cursor: default;
}
.dz-area.dz-has-file .dz-upload-icon,
.dz-area.dz-has-file .dz-area-hint { display: none; }
.dz-upload-icon {
  width: 34px; height: 34px;
  background: var(--nr-surface-chip);
  border: 1px solid var(--nr-border-soft-plus);
  border-radius: 9px;
  color: var(--nr-text-soft-alpha);
  display: flex; align-items: center; justify-content: center;
}
.dz-area-hint { font-size: 11.5px; color: var(--nr-text-sec); text-align: center; line-height: 1.5; }
.dz-area-hint b { color: var(--nr-text); font-weight: 700; }
.dz-preview-img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: none;
  position: absolute;
  inset: 0;
  border-radius: 9px;
}
.dz-area.dz-has-file .dz-preview-img { display: block; }
.dz-remove-btn {
  display: none;
  position: absolute;
  top: 7px; right: 7px;
  background: var(--nr-surface-overlay);
  color: var(--nr-text-soft-alpha);
  border: 1px solid var(--nr-border-strong-ui);
  border-radius: 5px;
  font-size: 10px; font-weight: 700;
  padding: 3px 8px;
  cursor: pointer;
  font-family: 'Sora', sans-serif;
}
.dz-area.dz-has-file .dz-remove-btn { display: block; }

/* Divider (refined) */
.dz-divider-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0 10px;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}
.dz-divider-text {
  font-family: 'Syne', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.15;
  text-transform: none;
  color: var(--nr-text);
  padding: 0;
  border: 0;
  background: transparent;
  white-space: nowrap;
}
.dz-no-photo-sub {
  font-family: 'Sora', system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--nr-text-sec);
  margin-bottom: 12px;
  line-height: 1.55;
}

/* Alt buttons */
.dz-alt-btns { display: flex; gap: 7px; }

/* PWA: dyskretny przycisk instalacji nad dropzonem (pokazywany tylko gdy
   przeglądarka zgłosi beforeinstallprompt — zero wyskakujących banerów) */
.nr-pwa-install {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px dashed var(--nr-border-strong-ui);
  background: var(--nr-surface-faint);
  color: var(--nr-muted);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
  transition: color .15s ease, border-color .15s ease, background .15s ease;
}
.nr-pwa-install:hover {
  color: var(--nr-text);
  border-color: var(--nr-border-accent-ui);
  background: var(--nr-surface-soft-strong);
}

/* ── Dwa tryby wejścia: szybka kalkulacja (wymiary) vs dokładna (zdjęcie) ──
   Kolory przez zmienne motywu → działają w dark i w jasnym embedzie bez nadpisań. */
.dz-modes { display: grid; grid-template-columns: 1fr 1.25fr; gap: 10px; align-items: stretch; }
@media (max-width: 700px){ .dz-modes { grid-template-columns: 1fr; } }
.dz-mode {
  position: relative;
  text-align: left;
  border: 1px solid var(--nr-border-strong-ui);
  background: var(--nr-surface-faint);
  border-radius: 14px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
button.dz-mode {
  appearance: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, transform .15s ease;
}
button.dz-mode:hover { border-color: var(--nr-border-accent-ui); background: var(--nr-surface-soft-strong); }
button.dz-mode:active { transform: translateY(1px); }
.dz-mode-kicker {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--nr-muted);
}
.dz-mode-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Syne', sans-serif;
  font-size: 15.5px;
  font-weight: 800;
  color: var(--nr-text);
  line-height: 1.2;
}
.dz-mode-sub { font-size: 12px; line-height: 1.5; color: var(--nr-muted); }
.dz-mode-cta {
  margin-top: auto;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--nr-accent);
}
.dz-mode--photo .dz-area { margin: 2px 0 0; min-height: 96px; padding: 16px 12px; }
.dz-demo-link {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 6px 0 0;
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--nr-muted);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-align: left;
}
.dz-demo-link:hover { color: var(--nr-text); }
.dz-demo-link:disabled { opacity: .6; cursor: default; }
.dz-btn {
  flex: 1;
  min-width: 0;
  padding: 10px 8px;
  border-radius: 8px;
  font-family: 'Sora', sans-serif;
  font-size: 11.5px; font-weight: 700;
  cursor: pointer; transition: all .15s;
  letter-spacing: .03em;
  display: flex; align-items: center; justify-content: center; gap: 5px;
  border: 1.5px solid transparent;
}
.dz-btn-primary { background: var(--nr-text); color: var(--nr-bg); border-color: var(--nr-text); }
.dz-btn-primary:hover { background: var(--nr-text-strong-alpha); border-color: var(--nr-text-strong-alpha); }
.dz-btn-primary:disabled { opacity: .45; cursor: default; }
.dz-btn-ghost {
  background: var(--nr-surface-faint);
  color: var(--nr-text);
  border-color: var(--nr-border-soft-plus);
}
.dz-btn-ghost:hover {
  border-color: var(--nr-border-strong-ui);
  color: var(--nr-text);
  background: var(--nr-surface-soft-strong);
}

/* Step bar */
.dz-step-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(255,255,255,.05);
}
.dz-step {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,.22);
  padding: 0 14px;
}
.dz-step.is-active { color: var(--nr-accent); }
.dz-step-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--nr-border-emphasis); flex-shrink: 0; }
.dz-step.is-active .dz-step-dot { background: var(--nr-accent); }
.dz-step-arrow { font-size: 9px; color: rgba(255,255,255,.12); margin: 0 2px; }

.nr-simple-shape-overlay{
  position: fixed;
  inset: 0;
  z-index: var(--nr-z-modal-top);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(14px, 3vw, 34px);
  background:
    radial-gradient(circle at 50% 42%, rgba(234,96,44,.12), transparent 34%),
    rgba(8,8,8,.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
/* Embed: modal wymiarow renderuje sie INLINE w slocie dropzone bento (patrz app.preact.js
   renderStartDropZone), wiec zdejmujemy z overlay position:fixed, czarne tlo i centrowanie —
   ma zajac dokladnie miejsce bento (1:1), bez zaslaniania reszty strony. */
html.nr-embed .nr-simple-shape-overlay{
  position: static;
  inset: auto;
  display: block;
  padding: 0;
  background: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  z-index: auto;
}
html.nr-embed .nr-simple-shape-modal{
  width: 100%;
  max-width: none;
  max-height: none;
}
.nr-simple-shape-modal{
  width: min(960px, calc(100vw - 28px));
  max-height: calc(100vh - 28px);
  overflow: auto;
  position: relative;
  z-index: 1;
}
.nr-simple-shape-card{
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.13);
  background: #35353b;
  box-shadow: 0 24px 90px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
  color: #f4f2ee;
  font-family: 'Sora','Inter',sans-serif;
}
.nr-simple-shape-head{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:18px 18px 4px;
}
.nr-simple-shape-head-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.nr-simple-shape-title{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
.nr-simple-shape-title span{
  color:#f18a5f;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
}
.nr-simple-shape-title strong{
  color:#f7f5ef;
  font-size:clamp(20px,2.1vw,26px);
  font-weight:800;
  letter-spacing:-.01em;
  line-height:1.05;
}
.nr-simple-shape-tiles{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.nr-shape-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  padding:12px 6px;
  border-radius:13px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.055);
  color:#c2bfb7;
  cursor:pointer;
  transition:border-color .13s, background .13s, color .13s;
}
.nr-shape-tile-ico{
  width:26px;
  height:20px;
}
.nr-shape-tile-ico rect,.nr-shape-tile-ico circle,.nr-shape-tile-ico ellipse,.nr-shape-tile-ico path{
  stroke:currentColor;
  stroke-width:1.8;
  fill:none;
}
.nr-shape-tile span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.01em;
}
.nr-shape-tile:hover{
  border-color:rgba(255,255,255,.28);
  color:#eceae2;
}
.nr-shape-tile.is-active{
  border-color:rgba(241,138,95,.65);
  background:rgba(241,138,95,.18);
  color:#f7f5ef;
}
.nr-simple-shape-body{
  display:grid;
  grid-template-columns:.95fr 1.1fr;
  gap:16px;
  padding:14px 18px 6px;
}
.nr-simple-shape-preview{
  position:relative;
  min-height:200px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.13);
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    rgba(255,255,255,.03);
  background-size:22px 22px,22px 22px,100% 100%;
  overflow:hidden;
}
.nr-simple-shape-preview-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
}
.nr-simple-shape-preview-svg rect,
.nr-simple-shape-preview-svg circle,
.nr-simple-shape-preview-svg ellipse,
.nr-simple-shape-preview-svg path{
  stroke:#ff9a70;
  stroke-width:2.4;
  fill:rgba(241,138,95,.16);
  stroke-linejoin:round;
}
.nr-simple-shape-preview-label{
  position:absolute;
  left:12px;
  bottom:11px;
  z-index:2;
  max-width:calc(100% - 24px);
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.09);
  color:#e2dfd8;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box;
}
.nr-simple-shape-ctrl{
  display:flex;
  flex-direction:column;
  gap:14px;
  min-width:0;
}
.nr-simple-shape-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.nr-simple-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.nr-simple-field.is-wide{
  grid-column:1 / -1;
}
.nr-simple-field-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#c2bfb7;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}
.nr-simple-field-label span{
  color:#98958c;
}
.nr-simple-input{
  width:100%;
  height:52px;
  padding:0 16px;
  border-radius:13px;
  border:1px solid rgba(0,0,0,.1);
  background:#f4f2ec;
  color:#2a2922;
  font-family:'Sora','Inter',sans-serif;
  font-size:20px;
  font-weight:800;
  outline:none;
  box-sizing:border-box;
}
.nr-simple-input:focus{
  outline:2px solid #f18a5f;
  outline-offset:1px;
}
.nr-simple-shape-summary{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:15px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.055);
}
.nr-simple-area{
  flex:1;
  min-width:0;
}
.nr-simple-area span{
  display:block;
  margin-bottom:6px;
  color:#a8a59c;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nr-simple-area strong{
  display:block;
  color:#f7f5ef;
  font-size:25px;
  font-weight:800;
  letter-spacing:-.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.nr-simple-apply{
  flex:0 0 auto;
  height:52px;
  padding:0 24px;
  border:0;
  border-radius:13px;
  background:#ee7443;
  color:#fff;
  cursor:pointer;
  font-family:'Sora','Inter',sans-serif;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
  white-space:nowrap;
}
.nr-simple-apply:hover{
  background:#ff8654;
}
.nr-simple-apply:disabled,
.nr-simple-apply.is-disabled{
  cursor:not-allowed;
  opacity:.5;
  background:rgba(255,255,255,.1);
  color:#c2bfb7;
}
.nr-simple-shape-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:14px 18px 18px;
  margin-top:6px;
  border-top:1px solid rgba(255,255,255,.1);
}
.nr-simple-tip{
  flex:1;
  min-width:180px;
  margin:0;
  color:#a8a59c;
  font-size:12.5px;
  font-weight:600;
  line-height:1.5;
}
.nr-simple-shape-seg{
  display:inline-flex;
  gap:4px;
  padding:4px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.07);
}
.nr-simple-shape-seg .nr-seg-btn{
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#c2bfb7;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
  padding:9px 16px;
  cursor:pointer;
}
.nr-simple-shape-seg .nr-seg-btn.is-active{
  border-color:rgba(241,138,95,.6);
  background:rgba(241,138,95,.22);
  color:#f7f5ef;
}
.nr-simple-shape-close{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:11px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.06);
  color:#e2dfd8;
  font-weight:800;
  font-size:15px;
  line-height:1;
  cursor:pointer;
}
.nr-simple-shape-close:hover{
  background:rgba(241,138,95,.16);
  border-color:rgba(241,138,95,.5);
  color:#f7f5ef;
}

@media (max-width: 640px) {
  .dz-root { padding: 0; border-radius: 0; }
  .dz-inner { flex-direction: column; min-height: auto; }
  .dz-brand { display: none; }
  .dz-right { border-left: none; border-radius: 0; padding: 24px 20px 20px; }
  .nr-simple-shape-overlay{
    padding: max(10px, env(safe-area-inset-top, 0px) + 10px) 10px max(10px, env(safe-area-inset-bottom, 0px) + 10px);
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }
  .nr-simple-shape-modal{
    margin-top: 0;
    width: min(100%, calc(100vw - 20px));
    max-height: min(560px, calc(100dvh - 24px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
    overflow: auto;
  }
  .nr-simple-shape-head{
    padding:16px 16px 2px;
  }
  .nr-simple-shape-tiles{
    grid-template-columns:1fr 1fr;
  }
  .nr-simple-shape-body{
    grid-template-columns:1fr;
    gap:14px;
    padding:14px 16px 4px;
  }
  .nr-simple-shape-preview{
    min-height:150px;
  }
  .nr-simple-shape-summary{
    flex-wrap:wrap;
  }
  .nr-simple-apply{
    flex:1 1 100%;
  }
  .nr-simple-shape-foot{
    padding:14px 16px 16px;
  }
}

/* Mobile peek-cards: rekomendacje żywic + wykończeń */
@media (max-width: 820px) {
  .nr-rec-section.nr-ui-rec .nr-rec-results{
    position: relative;
  }
  .nr-rec-section.nr-ui-rec .nr-rec-results::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 56px;
    background: linear-gradient(to right, rgba(5,8,14,0), rgba(5,8,14,.96));
    pointer-events: none;
    z-index: 3;
    border-radius: 0 16px 16px 0;
  }
  .nr-rec-section.nr-ui-rec .nr-rec-podium{
    display: flex;
    grid-template-columns: none;
    gap: 10px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 2px 54px 14px 2px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .nr-rec-section.nr-ui-rec .nr-rec-podium::-webkit-scrollbar{
    display: none;
  }
  .nr-rec-section.nr-ui-rec .nr-rec-podium .nr-finish-col,
  .nr-rec-section.nr-ui-rec .nr-rec-podium > .nr-rec-card{
    flex: 0 0 86%;
    min-width: 86%;
    scroll-snap-align: start;
  }
  .nr-rec-section.nr-ui-rec .nr-rec-podium .nr-finish-col .nr-rec-card{
    height: 100%;
  }
  /* MOBILE: cień TYLKO na kartach w sliderze (.nr-rec-podium).
     Karty poza sliderem nie mają cienia żeby nie nachodził na tipy poniżej. */
  .nr-ui-rec .nr-rec-card{
    box-shadow: none;
  }
  /* W sliderze: krótszy, ciaśniejszy cień (głównie boki + lekko w dół, NIE rozlewa się na tipy). */
  .nr-rec-section.nr-ui-rec .nr-rec-podium > .nr-rec-card,
  .nr-rec-section.nr-ui-rec .nr-rec-podium .nr-finish-col .nr-rec-card{
    box-shadow: 0 4px 12px -4px rgba(0,0,0,0.45), 0 2px 4px rgba(0,0,0,0.25);
  }
}
/* === NR APP CORE CSS: END === */

:root {
  color-scheme: dark;

  /* Brand / theme */
  --nr-brand-accent: #c26a61;
  --nr-brand-accent-strong: #d4847c;
  --nr-brand-accent-soft: #d68a7f;
  --nr-brand-accent-dim: rgba(194, 106, 97, 0.14);
  --nr-brand-teal: #7ec4b8;
  --nr-brand-teal-strong: #5da89c;
  --nr-brand-teal-dim: rgba(126, 196, 184, 0.15);
  --nr-brand-gold: #c7a977;
  --nr-brand-amber: #f59e0b;
  --nr-brand-green: #4ade80;
  --nr-brand-success: #3ddc84;
  --nr-brand-danger: #d07a72;
  --nr-brand-offline: #e05c5c;
  --nr-brand-warning: #e0a050;
  --nr-brand-purple: #7c5cbf;
  --nr-accent: var(--nr-brand-accent);
  --nr-accent-soft: var(--nr-brand-accent-soft);
  --nr-accent-dim: var(--nr-brand-accent-dim);
  --nr-teal: var(--nr-brand-teal);
  --nr-gold: var(--nr-brand-gold);
  --nr-success: var(--nr-brand-success);
  --nr-warning: var(--nr-brand-warning);
  --nr-danger: var(--nr-brand-danger);

  /* Surfaces */
  --nr-bg: #171719;
  --nr-bg-2: #1b1c1f;
  --nr-bg-3: #202124;
  --nr-bg-deep: #111214;
  --nr-bg-strong: #0f1012;
  --nr-surface: #1d1e21;
  --nr-surface-2: #232427;
  --nr-surface-3: #292a2e;
  --nr-surface-alt: #202124;
  --nr-surface-elevated: #2a2b2f;
  --nr-surface-card: rgba(255, 255, 255, 0.045);
  --nr-surface-card-strong: #121214;
  --nr-surface-soft: rgba(255, 255, 255, 0.035);
  --nr-surface-strong: rgba(255, 255, 255, 0.06);

  /* Text */
  --nr-text: #f3f2ef;
  --nr-text-soft: #d2d0ca;
  --nr-text-mid: #9698a1;
  --nr-muted: #9a9aa0;
  --nr-text-dim: rgba(255, 255, 255, 0.42);
  --nr-text-faint: rgba(255, 255, 255, 0.22);
  --nr-text-hi: #d4d4d4;
  --nr-text-mid-alt: #888;
  --nr-text-lo: #555;

  /* Borders / effects */
  --nr-border: rgba(255, 255, 255, 0.12);
  --nr-border-soft: rgba(255, 255, 255, 0.06);
  --nr-border-strong: rgba(255, 255, 255, 0.18);
  --nr-line: #2a2a2d;
  --nr-shadow: 0 30px 80px rgba(0, 0, 0, 0.42);
  --nr-shadow-soft: 0 18px 42px rgba(0, 0, 0, 0.18);

  /* Paper */
  --nr-paper: #ffffff;
  --nr-paper-ink: #141414;
  --nr-paper-line: rgba(16, 18, 24, 0.12);

  /* Radius / layout */
  --nr-radius-xl: 28px;
  --nr-radius-lg: 20px;
  --nr-radius-md: 14px;
  --nr-radius-sm: 10px;
  --nr-shell-max: 1520px;
  --nr-col: min(700px, 90vw);
  --nr-sidebar-w: 560px;
  --nr-gap-1: 8px;
  --nr-gap-2: 12px;
  --nr-gap-3: 16px;
  --nr-gap-4: 24px;
  --nr-gap-5: 32px;
  --nr-gap-6: 48px;

  /* Fonts */
  --nr-font-sans: "Sora", "Inter", system-ui, sans-serif;
  --nr-font-ui: "Inter", system-ui, sans-serif;
  --nr-font-mono: "Syne Mono", monospace;
  --nr-font-serif: "Instrument Serif", "DM Serif Display", Georgia, serif;

  /* Legacy aliases */
  --bg: var(--nr-bg);
  --bg-deep: var(--nr-bg-deep);
  --bg-2: var(--nr-bg-2);
  --bg-3: var(--nr-bg-3);
  --bg-strong: var(--nr-bg-strong);
  --surface: var(--nr-surface);
  --surface2: var(--nr-surface-2);
  --surface-alt: var(--nr-surface-alt);
  --surface-elevated: var(--nr-surface-elevated);
  --surface-2: var(--nr-surface-2);
  --surface-3: var(--nr-surface-3);
  --card: var(--nr-surface-card);
  --border: var(--nr-border);
  --border2: var(--nr-border-strong);
  --border-strong: var(--nr-border-strong);
  --border-soft: var(--nr-border-soft);
  --line: var(--nr-line);
  --text: var(--nr-text);
  --text-soft: var(--nr-text-soft);
  --text-hi: var(--nr-text-hi);
  --text-mid: var(--nr-text-mid-alt);
  --text-lo: var(--nr-text-lo);
  --text-muted: var(--nr-text-subtle-strong);
  --text-dim: var(--nr-text-subtle);
  --text2: var(--nr-text-soft);
  --muted: var(--nr-text-mid);
  --mid: var(--nr-text-mid);
  --dim: var(--nr-text-dim);
  --faint: var(--nr-text-faint);
  --accent: var(--nr-brand-accent);
  --accent2: var(--nr-brand-accent-strong);
  --accent-soft: var(--nr-brand-accent-soft);
  --accent-dim: var(--nr-brand-accent-dim);
  --coral: var(--nr-brand-accent);
  --coral-dim: var(--nr-brand-accent-dim);
  --red: var(--nr-brand-accent);
  --red-dim: var(--nr-brand-accent-dim);
  --teal: var(--nr-brand-teal);
  --teal2: var(--nr-brand-teal-strong);
  --teal-dim: var(--nr-brand-teal-dim);
  --gold: var(--nr-brand-gold);
  --amber: var(--nr-brand-amber);
  --green: var(--nr-brand-green);
  --purple: var(--nr-brand-purple);
  --online: var(--nr-brand-success);
  --offline: var(--nr-brand-offline);
  --warn: var(--nr-brand-warning);
  --paper: var(--nr-paper);
  --paper-ink: var(--nr-paper-ink);
  --paper-line: var(--nr-paper-line);
  --paper-border: var(--nr-paper-border-ui);
  --paper-copy: var(--nr-paper-text-soft);
  --paper-muted: var(--nr-paper-text-dim);
  --shadow: var(--nr-shadow);
  --radius-xl: var(--nr-radius-xl);
  --radius-lg: var(--nr-radius-lg);
  --radius-md: var(--nr-radius-md);
  --sidebar-w: var(--nr-sidebar-w);
  --col: var(--nr-col);
  --sans: var(--nr-font-sans);
  --mono: var(--nr-font-mono);
  --serif: var(--nr-font-serif);
}

body.nr-contract-page {
  --nr-sidebar-w: 520px;
  --sidebar-w: 520px;
}

html.nr-booting #root,
html.nr-booting #nr-modal-root {
  visibility: hidden;
}

body.nr-home-page {
  overflow-x: hidden;
}

body.nr-home-page #nr-initial-loader {
  position: fixed;
  inset: 0;
  z-index: var(--nr-z-loader);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 18px;
  padding: clamp(22px, 3vw, 34px);
  background: var(--nr-gradient-loader);
  color: var(--nr-text);
  text-align: center;
  overflow: hidden;
}

body.nr-home-page #nrl-title {
  position: relative;
  z-index: 2;
  margin-top: clamp(18px, 2vw, 28px);
}

body.nr-home-page .nrl-big {
  margin: 0;
  color: var(--nr-text-strong-alpha);
  font-family: "Sora", "Inter", system-ui, sans-serif;
  font-size: clamp(2.2rem, 6vw, 5.4rem);
  font-weight: 800;
  line-height: 0.92;
  letter-spacing: -0.065em;
}

body.nr-home-page .nrl-sub {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  color: var(--nr-text-muted-alpha);
  font-family: "Syne Mono", monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.34em;
  text-transform: uppercase;
}

body.nr-home-page .nrl-sub::before,
body.nr-home-page .nrl-sub::after {
  content: "";
  width: 54px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
}

body.nr-home-page #nrl-checklist {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-top: 8px;
  padding: 12px 18px;
  border: 1px solid var(--nr-border-soft-plus);
  border-radius: 999px;
  background: var(--nr-surface-overlay-soft);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.nr-home-page .nrl-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(238, 236, 232, 0.86);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  white-space: nowrap;
}

body.nr-home-page .nrl-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
}

body.nr-home-page .nrl-dot,
body.nr-home-page .nrl-check,
body.nr-home-page .nrl-x {
  position: absolute;
}

body.nr-home-page .nrl-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
}

body.nr-home-page .nrl-check,
body.nr-home-page .nrl-x {
  opacity: 0;
}

body.nr-home-page .nrl-spin {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255, 255, 255, 0.14);
  border-top-color: rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  animation: nrLoaderSpin 1s linear infinite;
  opacity: 0;
}

body.nr-home-page .nrl-sep {
  width: 1px;
  height: 22px;
  background: rgba(255, 255, 255, 0.08);
}

body.nr-home-page .nrl-item.active .nrl-spin {
  opacity: 1;
}

body.nr-home-page .nrl-item.active .nrl-dot {
  opacity: 0;
}

body.nr-home-page .nrl-item.done .nrl-check {
  opacity: 1;
}

body.nr-home-page .nrl-item.done .nrl-dot,
body.nr-home-page .nrl-item.done .nrl-spin {
  opacity: 0;
}

body.nr-home-page .nrl-item.fail .nrl-x {
  opacity: 1;
  font-size: 11px;
  line-height: 1;
}

body.nr-home-page .nrl-item.fail .nrl-dot,
body.nr-home-page .nrl-item.fail .nrl-spin {
  opacity: 0;
}

body.nr-home-page #nrl-blob {
  position: absolute;
  left: 50%;
  bottom: -4vw;
  z-index: 1;
  width: min(1380px, 118vw);
  transform: translateX(-50%);
  pointer-events: none;
}

body.nr-home-page #nrl-blob svg {
  width: 100%;
  height: auto;
  display: block;
}

@keyframes nrLoaderSpin {
  to { transform: rotate(360deg); }
}

@media (max-width: 900px) {
  body.nr-home-page #nrl-checklist {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-width: min(320px, calc(100vw - 32px));
    border-radius: 22px;
  }

  body.nr-home-page .nrl-sep {
    width: 100%;
    height: 1px;
  }

  body.nr-home-page .nrl-item {
    justify-content: center;
  }

  body.nr-home-page #nrl-blob {
    width: min(980px, 180vw);
    bottom: -10vw;
  }
}

:is(body.nr-resins-page, body.nr-lacquers-page) .skip-to-main {
  position: absolute;
  left: 18px;
  top: 14px;
  z-index: 30;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.82rem;
  text-decoration: none;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .skip-to-main:focus-visible {
  outline: 2px solid rgba(194, 106, 97, 0.65);
  outline-offset: 4px;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .container {
  width: calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
  max-width: var(--nr-shell-panel-max, 1408px);
  margin: 0 auto;
  padding: 132px 0 88px;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-header {
  display: grid;
  justify-items: center;
  gap: 18px;
  margin-bottom: 44px;
  text-align: center;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-back {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid var(--nr-border-strong-ui);
  background: var(--nr-surface-control-idle);
  color: var(--nr-text-subtle-strong);
  font-family: "Syne Mono", monospace;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-back:hover {
  border-color: var(--nr-border-emphasis);
  background: var(--nr-surface-hover);
  color: var(--nr-text);
  text-decoration: none;
  transform: translateY(-1px);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-tag {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: rgba(228, 225, 219, 0.72);
  font-family: "Syne Mono", monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-tag-line {
  width: 56px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-title {
  margin: 0;
  color: rgba(244, 242, 238, 0.96);
  font-family: "Sora", "Inter", system-ui, sans-serif;
  font-size: clamp(2.8rem, 6vw, 5rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .page-sub {
  margin: 0;
  max-width: 72ch;
  color: rgba(228, 225, 219, 0.68);
  font-size: clamp(1rem, 1.8vw, 1.28rem);
  line-height: 1.7;
  text-wrap: balance;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .coral {
  color: var(--nr-brand-accent-soft);
}

body.nr-resins-page .page-header{
  position:relative;
  justify-items:stretch;
  gap:34px;
  margin-bottom:34px;
  padding-bottom:38px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.nr-resins-page .page-header::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,rgba(194,106,97,.56),transparent 38%,rgba(126,196,184,.28),transparent 72%);
  pointer-events:none;
}

body.nr-resins-page .resin-hero__topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}

body.nr-resins-page .page-back{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:rgba(228,225,219,.64);
  font-size:.78rem;
  letter-spacing:0;
}

body.nr-resins-page .page-back:hover{
  border-color:transparent;
  background:transparent;
  color:rgba(244,242,238,.94);
  transform:translateX(-2px);
}

body.nr-resins-page .resin-hero__eyebrow,
body.nr-resins-page .resin-hero__scope{
  color:rgba(228,225,219,.52);
  font-family:"Syne Mono",monospace;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:uppercase;
}

body.nr-resins-page .resin-hero__main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:52px;
  align-items:stretch;
}

body.nr-resins-page .resin-hero__copy{
  display:grid;
  align-content:end;
  gap:20px;
  min-width:0;
}

body.nr-resins-page .page-tag{
  justify-self:start;
  gap:10px;
  color:rgba(228,225,219,.62);
  font-size:.78rem;
  letter-spacing:0;
}

body.nr-resins-page .page-tag-line{
  width:92px;
  background:linear-gradient(90deg,rgba(255,255,255,.24),transparent);
}

body.nr-resins-page .page-title{
  display:grid;
  gap:0;
  max-width:840px;
  font-size:8rem;
  line-height:.84;
  letter-spacing:0;
}

body.nr-resins-page .page-title span{
  display:block;
}

body.nr-resins-page .page-sub{
  max-width:64ch;
  color:rgba(228,225,219,.7);
  font-size:1.18rem;
  line-height:1.62;
}

body.nr-resins-page .resin-hero__side{
  display:grid;
  align-content:end;
  gap:22px;
  padding:18px 0 4px 30px;
  border-left:1px solid rgba(255,255,255,.1);
  border-radius:0;
}

body.nr-resins-page .resin-hero__metric{
  display:grid;
  gap:6px;
}

body.nr-resins-page .resin-hero__metric-value{
  color:rgba(244,242,238,.96);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:5.5rem;
  font-weight:800;
  line-height:.9;
  letter-spacing:0;
}

body.nr-resins-page .resin-hero__metric-label,
body.nr-resins-page .resin-hero__stat small{
  color:rgba(228,225,219,.56);
  font-size:.86rem;
  line-height:1.35;
}

body.nr-resins-page .resin-hero__stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.nr-resins-page .resin-hero__stat{
  display:grid;
  gap:5px;
  padding:16px 0;
}

body.nr-resins-page .resin-hero__stat + .resin-hero__stat{
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.08);
}

body.nr-resins-page .resin-hero__stat span{
  color:var(--nr-brand-accent-soft);
  font-size:2rem;
  font-weight:800;
  line-height:1;
}

body.nr-resins-page .resin-hero__scope{
  color:rgba(228,225,219,.48);
  line-height:1.55;
}

body.nr-resins-page .resin-filterbar{
  margin:0 0 18px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(18,19,21,.76);
}

body.nr-resins-page .resin-filterbar__main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  min-width:0;
}

body.nr-resins-page .resin-filterbar__hint,
body.nr-resins-page .resin-filterbar__count{
  color:rgba(228,225,219,.58);
  font-size:.82rem;
  line-height:1.45;
}

body.nr-resins-page .resin-filterbar__count{
  font-family:"Syne Mono",monospace;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.nr-resins-page .resin-filterbar__chips{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.nr-resins-page .resin-filter-chip,
body.nr-resins-page .resin-filterbar__clear{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(244,242,238,.86);
  font:700 .62rem/1 "Syne Mono",monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
}

body.nr-resins-page .resin-filter-chip{
  padding:0 10px;
}

body.nr-resins-page .resin-filter-chip span{
  color:rgba(228,225,219,.48);
}

body.nr-resins-page .resin-filter-chip b{
  color:rgba(244,242,238,.68);
  font:800 .9rem/1 Inter,sans-serif;
}

body.nr-resins-page .resin-filterbar__clear{
  justify-self:end;
  padding:0 12px;
  color:rgba(228,225,219,.62);
}

body.nr-resins-page .resin-filter-chip:hover,
body.nr-resins-page .resin-filterbar__clear:hover{
  background:rgba(194,106,97,.12);
  border-color:rgba(194,106,97,.3);
  color:#fff;
}

body.nr-resins-page [data-filter-key]{
  cursor:pointer;
}

body.nr-resins-page [data-filter-key]:focus-visible{
  outline:2px solid rgba(194,106,97,.62);
  outline-offset:3px;
}

body.nr-resins-page td[data-filter-key]:hover .td-thick-value,
body.nr-resins-page td[data-filter-key]:hover,
body.nr-resins-page .rc-brand[data-filter-key]:hover,
body.nr-resins-page .rc-right[data-filter-key]:hover{
  color:#fff;
}

body.nr-resins-page .badge[data-filter-key]:hover,
body.nr-resins-page .pigment-pct[data-filter-key]:hover,
body.nr-resins-page .rc-pigment-pct[data-filter-key]:hover{
  border-color:rgba(194,106,97,.42);
  background:rgba(194,106,97,.12);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .table-wrap {
  overflow-x: auto;
  border: 1px solid var(--nr-page-panel-border);
  border-radius: 26px;
  background: var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
}

body.nr-resins-page .table-wrap{
  max-height:none;
  overflow-x:auto;
}

:is(body.nr-resins-page, body.nr-lacquers-page) table {
  width: 100%;
  min-width: 1180px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

body.nr-resins-page table th:nth-child(1){width:14%}
body.nr-resins-page table th:nth-child(2){width:27%}
body.nr-resins-page table th:nth-child(3){width:9%}
body.nr-resins-page table th:nth-child(4){width:14%}
body.nr-resins-page table th:nth-child(5){width:8%}
body.nr-resins-page table th:nth-child(6){width:10%}
body.nr-resins-page table th:nth-child(7){width:8%}
body.nr-resins-page table th:nth-child(8){width:10%}

body.nr-lacquers-page table{min-width:1280px}
body.nr-lacquers-page table th:nth-child(1){width:14%}
body.nr-lacquers-page table th:nth-child(2){width:24%}
body.nr-lacquers-page table th:nth-child(3){width:15%}
body.nr-lacquers-page table th:nth-child(4){width:10%}
body.nr-lacquers-page table th:nth-child(5){width:17%}
body.nr-lacquers-page table th:nth-child(6){width:11%}
body.nr-lacquers-page table th:nth-child(7){width:9%}

:is(body.nr-resins-page, body.nr-lacquers-page) thead th {
  padding: 18px 22px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(228, 225, 219, 0.46);
  font-family: "Syne Mono", monospace;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.03);
}

:is(body.nr-resins-page, body.nr-lacquers-page) thead th + th,
:is(body.nr-resins-page, body.nr-lacquers-page) tbody td + td {
  border-left: 1px solid rgba(255, 255, 255, 0.08);
}

:is(body.nr-resins-page, body.nr-lacquers-page) thead th:first-child {
  border-top-left-radius: 26px;
}

:is(body.nr-resins-page, body.nr-lacquers-page) thead th:last-child {
  border-top-right-radius: 26px;
}

:is(body.nr-resins-page, body.nr-lacquers-page) tbody td {
  padding: 16px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  color: rgba(242, 239, 233, 0.86);
  vertical-align: middle;
  line-height: 1.55;
}

:is(body.nr-resins-page, body.nr-lacquers-page) tbody tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

:is(body.nr-resins-page, body.nr-lacquers-page) tbody strong {
  font-weight: 700;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .muted {
  color: rgba(228, 225, 219, 0.56);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(244, 242, 238, 0.84);
  font-family: "Syne Mono", monospace;
  font-size: 0.64rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.nr-resins-page .td-brand{
  color:rgba(242,239,233,.9);
  font-weight:700;
  overflow-wrap:anywhere;
}

body.nr-resins-page .td-name-wrap{
  display:grid;
  gap:7px;
  min-width:0;
}

body.nr-resins-page .td-product-name{
  display:block;
  color:rgba(242,239,233,.94);
  font-weight:700;
  line-height:1.35;
  overflow-wrap:anywhere;
}

body.nr-resins-page .product-card-link{
  color:inherit;
  text-decoration:none;
  text-underline-offset:4px;
}

body.nr-resins-page .product-card-link:hover,
body.nr-resins-page .product-card-link:focus-visible{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:rgba(194,106,97,.76);
}

body.nr-resins-page .td-tds-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

body.nr-resins-page .td-name .badge--tds{
  min-height:22px;
  padding:0 8px;
  font-size:.55rem;
  letter-spacing:.1em;
}

body.nr-resins-page .td-type,
body.nr-resins-page .td-ratio,
body.nr-resins-page .td-ratio-type,
body.nr-resins-page .td-thick,
body.nr-resins-page .td-buy{
  text-align:center;
  vertical-align:middle;
  white-space:nowrap;
}

body.nr-resins-page .td-type .badge{
  margin-inline:auto;
}

body.nr-resins-page .td-buy-actions{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:100%;
  white-space:nowrap;
}

body.nr-resins-page .pigment-wrap{
  display:grid;
  gap:7px;
  align-content:center;
  justify-items:start;
  min-width:0;
}

body.nr-resins-page .pigment-pct,
body.nr-resins-page .rc-pigment-pct{
  color:rgba(228,225,219,.66);
  font-size:.78rem;
  font-weight:650;
  line-height:1.2;
  white-space:nowrap;
}

body.nr-resins-page .td-thick{
  color:rgba(242,239,233,.92);
  font-weight:750;
}

body.nr-resins-page .unit,
body.nr-resins-page .rc-thick-unit{
  color:rgba(228,225,219,.58);
  font-size:.78rem;
  font-weight:650;
}

body.nr-resins-page .buy-link{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  border:1px solid rgba(228,225,219,.22);
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:rgba(242,239,233,.9);
  font:700 .64rem/1 "Syne Mono",monospace;
  letter-spacing:.1em;
  text-decoration:none;
  text-transform:uppercase;
  white-space:nowrap;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}

body.nr-resins-page .td-buy-actions .buy-link{
  min-height:30px;
  padding-inline:10px;
  font-size:.56rem;
  letter-spacing:.08em;
}

body.nr-resins-page .buy-link:hover{
  background:rgba(194,106,97,.16);
  border-color:rgba(194,106,97,.42);
  color:#fff;
}

body.nr-resins-page .buy-link.product-card-cta{
  border-color:rgba(255,85,38,.38);
  background:rgba(255,85,38,.11);
  color:#fff4ed;
}

body.nr-resins-page .buy-link.product-card-cta:hover{
  border-color:rgba(255,85,38,.72);
  background:rgba(255,85,38,.22);
}

body.nr-resins-page .buy-placeholder{
  color:rgba(228,225,219,.42);
  font-size:.8rem;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .badge--art,
:is(body.nr-resins-page, body.nr-lacquers-page) .b-art {
  border-color: rgba(126, 196, 184, 0.22);
  background: rgba(126, 196, 184, 0.08);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .badge--table,
:is(body.nr-resins-page, body.nr-lacquers-page) .b-table {
  border-color: rgba(194, 106, 97, 0.24);
  background: rgba(194, 106, 97, 0.09);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .badge--deep,
:is(body.nr-resins-page, body.nr-lacquers-page) .b-deep {
  border-color: rgba(199, 169, 119, 0.24);
  background: rgba(199, 169, 119, 0.08);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .badge--uv,
:is(body.nr-resins-page, body.nr-lacquers-page) .b-uv {
  border-color: rgba(122, 92, 191, 0.24);
  background: rgba(122, 92, 191, 0.08);
}

body.nr-resins-page .badge--tds{
  border-color:rgba(228,225,219,.16);
  background:rgba(255,255,255,.045);
  color:rgba(242,239,233,.76);
}

body.nr-resins-page .badge--pig-ok{
  border-color:rgba(126,196,184,.24);
  background:rgba(126,196,184,.075);
  color:rgba(225,247,241,.86);
}

body.nr-resins-page .badge--pig-missing{
  border-color:rgba(245,158,11,.28);
  background:rgba(245,158,11,.085);
  color:rgba(255,226,170,.86);
}

/* Resin database: product-catalog table treatment */
body.nr-resins-page .table-wrap{
  padding:8px;
  border-color:rgba(255,255,255,.1);
  border-radius:28px;
  background:rgba(18,19,21,.82);
  box-shadow:none;
  position:relative;
}

body.nr-resins-page table{
  min-width:1120px;
  border-spacing:0 10px;
}

body.nr-resins-page thead{
  position:static;
  background:transparent;
  box-shadow:none;
}

body.nr-resins-page thead th{
  position:relative;
  padding:0 16px 10px;
  border:0;
  background:rgba(18,19,21,.98);
  color:rgba(228,225,219,.42);
  font-size:.64rem;
  letter-spacing:.18em;
}

body.nr-resins-page thead th::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(255,255,255,.08);
}

body.nr-resins-page thead th + th,
body.nr-resins-page tbody td + td{
  border-left:0;
}

body.nr-resins-page tbody td{
  padding:16px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(33,34,37,.92);
  box-shadow:none;
}

body.nr-resins-page tbody td:first-child{
  border-left:1px solid rgba(255,255,255,.08);
  border-radius:18px 0 0 18px;
}

body.nr-resins-page tbody td:last-child{
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0 18px 18px 0;
}

body.nr-resins-page tbody tr:hover td{
  background:rgba(41,42,46,.96);
}

body.nr-resins-page tbody tr.row-featured td:first-child{
  box-shadow:none;
}

body.nr-resins-page .td-brand{
  color:rgba(228,225,219,.7);
  font-family:"Syne Mono",monospace;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.35;
  text-transform:uppercase;
}

body.nr-resins-page .td-product-name{
  color:rgba(248,246,241,.95);
  font-size:1rem;
  font-weight:760;
  letter-spacing:0;
}

body.nr-resins-page .td-name .badge--tds{
  width:fit-content;
  min-height:20px;
  color:rgba(228,225,219,.62);
  background:rgba(255,255,255,.035);
}

body.nr-resins-page .td-type .badge,
body.nr-resins-page .td-pigment .badge{
  min-height:30px;
  padding-inline:11px;
}

body.nr-resins-page .pigment-wrap{
  gap:6px;
  justify-items:center;
}

body.nr-resins-page .td-pigment{
  text-align:center;
}

body.nr-resins-page .pigment-pct{
  display:inline-flex;
  width:fit-content;
  min-height:22px;
  align-items:center;
  padding:0 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.03);
  color:rgba(228,225,219,.68);
  font-family:"Syne Mono",monospace;
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.nr-resins-page .td-ratio,
body.nr-resins-page .td-ratio-type,
body.nr-resins-page .td-thick{
  color:rgba(248,246,241,.9);
  font-weight:780;
}

body.nr-resins-page .td-ratio::before,
body.nr-resins-page .td-ratio-type::before,
body.nr-resins-page .td-thick::before{
  display:block;
  margin-bottom:3px;
  color:rgba(228,225,219,.38);
  font-family:"Syne Mono",monospace;
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}

body.nr-resins-page .td-ratio::before{content:"ratio"}
body.nr-resins-page .td-ratio-type::before{content:"tryb"}
body.nr-resins-page .td-thick::before{content:"max"}

body.nr-resins-page .unit{
  margin-left:2px;
  font-family:"Syne Mono",monospace;
  font-size:.66rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.nr-resins-page .buy-link{
  min-height:36px;
  padding-inline:14px;
  border-color:rgba(242,239,233,.2);
  background:rgba(242,239,233,.06);
}

body.nr-resins-page .td-buy-actions .buy-link{
  min-height:30px;
  padding-inline:10px;
}

body.nr-resins-page .td-buy-actions .product-card-cta,
body.nr-resins-page .rc-actions .product-card-cta{
  border-color:rgba(255,85,38,.38);
  background:rgba(255,85,38,.11);
  color:#fff4ed;
}

body.nr-resins-page .td-buy-actions .product-card-cta:hover,
body.nr-resins-page .rc-actions .product-card-cta:hover{
  border-color:rgba(255,85,38,.72);
  background:rgba(255,85,38,.22);
}

body.nr-home-page .nr-home-seo-links{
  --nr-seo-gutter:clamp(20px,3vw,56px);
  width:calc(100% - (2 * var(--nr-seo-gutter)));
  max-width:calc(var(--nr-shell-max,1520px) - (2 * var(--nr-seo-gutter)));
  display:block;
  margin:28px auto 0;
  padding:clamp(26px,3vw,38px);
  border:1px solid var(--nr-border);
  border-radius:var(--nr-radius-lg,20px);
  background:var(--nr-surface);
  color:rgba(244,242,238,.9);
  box-shadow:inset 0 1px 0 var(--nr-border-faint), var(--nr-shadow-soft);
  backdrop-filter:blur(12px) saturate(120%);
  -webkit-backdrop-filter:blur(12px) saturate(120%);
}

body.nr-home-page .nr-home-seo-links > div{
  max-width:760px;
}

body.nr-home-page .nr-home-seo-kicker{
  margin:0 0 10px;
  color:rgba(255,85,38,.74);
  font:800 .72rem/1 "Syne Mono",monospace;
  letter-spacing:.16em;
  text-transform:uppercase;
}

body.nr-home-page .nr-home-seo-links h2{
  margin:0;
  color:rgba(244,242,238,.9);
  font-size:clamp(1.18rem, 1.55vw, 1.45rem);
  line-height:1.16;
  letter-spacing:.03em;
  text-transform:uppercase;
}

body.nr-home-page .nr-home-seo-links p:not(.nr-home-seo-kicker){
  margin:13px 0 0;
  max-width:680px;
  color:rgba(228,225,219,.6);
  font-size:.92rem;
  line-height:1.55;
}

body.nr-home-page .nr-home-seo-links nav{
  counter-reset:nrSeoLinks;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:26px;
}

body.nr-home-page .nr-home-seo-links a{
  position:relative;
  min-height:68px;
  display:flex;
  align-items:center;
  width:100%;
  padding:13px 34px 13px 42px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  background:rgba(255,255,255,.032);
  color:rgba(244,242,238,.78);
  font-size:.86rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

body.nr-home-page .nr-home-seo-links a::before{
  counter-increment:nrSeoLinks;
  content:counter(nrSeoLinks, decimal-leading-zero);
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,85,38,.68);
  font:800 .68rem/1 "Syne Mono",monospace;
  letter-spacing:.08em;
}

body.nr-home-page .nr-home-seo-links a::after{
  content:"";
  position:absolute;
  right:18px;
  top:50%;
  width:7px;
  height:7px;
  border-top:1px solid rgba(255,255,255,.34);
  border-right:1px solid rgba(255,255,255,.34);
  transform:translateY(-50%) rotate(45deg);
  opacity:.7;
}

body.nr-home-page .nr-home-seo-links a:hover{
  border-color:rgba(255,85,38,.38);
  background:rgba(255,85,38,.08);
  color:#fff;
  transform:translateY(-1px);
}

body.nr-home-page .nr-home-seo-links a:hover::after{
  border-color:rgba(255,85,38,.85);
}

@media (max-width:1100px){
  body.nr-home-page .nr-home-seo-links nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:760px){
  body.nr-home-page .nr-home-seo-links{
    --nr-seo-gutter:12px;
    grid-template-columns:1fr;
    margin:16px auto 0;
    padding:20px 16px;
  }

  body.nr-home-page .nr-home-seo-links nav{
    gap:0;
    display:grid;
    grid-template-columns:1fr;
    margin-top:16px;
  }

  body.nr-home-page .nr-home-seo-links p:not(.nr-home-seo-kicker){
    max-width:none;
  }

  body.nr-home-page .nr-home-seo-links a{
    border-width:0;
    border-top:1px solid rgba(255,255,255,.08);
    border-radius:0;
    background:transparent;
    min-height:42px;
    padding:11px 34px 11px 36px;
    font-size:.88rem;
  }
}

/* Lacquer database: same catalog treatment as the resin table */
body.nr-lacquers-page .page-header{
  position:relative;
  justify-items:stretch;
  gap:34px;
  margin-bottom:34px;
  padding-bottom:38px;
  text-align:left;
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.nr-lacquers-page .page-header::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,rgba(194,106,97,.56),transparent 38%,rgba(126,196,184,.28),transparent 72%);
  pointer-events:none;
}

body.nr-lacquers-page .resin-hero__topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
}

body.nr-lacquers-page .page-back{
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:rgba(228,225,219,.64);
  font-size:.78rem;
  letter-spacing:0;
}

body.nr-lacquers-page .page-back:hover{
  border-color:transparent;
  background:transparent;
  color:rgba(244,242,238,.94);
  transform:translateX(-2px);
}

body.nr-lacquers-page .resin-hero__eyebrow,
body.nr-lacquers-page .resin-hero__scope{
  color:rgba(228,225,219,.52);
  font-family:"Syne Mono",monospace;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:0;
  text-transform:uppercase;
}

body.nr-lacquers-page .resin-hero__main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,360px);
  gap:52px;
  align-items:stretch;
}

body.nr-lacquers-page .resin-hero__copy{
  display:grid;
  align-content:end;
  gap:20px;
  min-width:0;
}

body.nr-lacquers-page .page-tag{
  justify-self:start;
  gap:10px;
  color:rgba(228,225,219,.62);
  font-size:.78rem;
  letter-spacing:0;
}

body.nr-lacquers-page .page-tag-line{
  width:92px;
  background:linear-gradient(90deg,rgba(255,255,255,.24),transparent);
}

body.nr-lacquers-page .page-title{
  display:grid;
  gap:0;
  max-width:840px;
  font-size:8rem;
  line-height:.84;
  letter-spacing:0;
}

body.nr-lacquers-page .page-title span{
  display:block;
}

body.nr-lacquers-page .page-sub{
  max-width:64ch;
  color:rgba(228,225,219,.7);
  font-size:1.18rem;
  line-height:1.62;
}

body.nr-lacquers-page .resin-hero__side{
  display:grid;
  align-content:end;
  gap:22px;
  padding:18px 0 4px 30px;
  border-left:1px solid rgba(255,255,255,.1);
  border-radius:0;
}

body.nr-lacquers-page .resin-hero__metric{
  display:grid;
  gap:6px;
}

body.nr-lacquers-page .resin-hero__metric-value{
  color:rgba(244,242,238,.96);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:5.5rem;
  font-weight:800;
  line-height:.9;
  letter-spacing:0;
}

body.nr-lacquers-page .resin-hero__metric-label,
body.nr-lacquers-page .resin-hero__stat small{
  color:rgba(228,225,219,.56);
  font-size:.86rem;
  line-height:1.35;
}

body.nr-lacquers-page .resin-hero__stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

body.nr-lacquers-page .resin-hero__stat{
  display:grid;
  gap:5px;
  padding:16px 0;
}

body.nr-lacquers-page .resin-hero__stat + .resin-hero__stat{
  padding-left:18px;
  border-left:1px solid rgba(255,255,255,.08);
}

body.nr-lacquers-page .resin-hero__stat span{
  color:var(--nr-brand-accent-soft);
  font-size:2rem;
  font-weight:800;
  line-height:1;
}

body.nr-lacquers-page .resin-hero__scope{
  color:rgba(228,225,219,.48);
  line-height:1.55;
}

body.nr-lacquers-page .resin-filterbar{
  margin:0 0 18px;
  padding:14px 16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:20px;
  background:rgba(18,19,21,.76);
}

body.nr-lacquers-page .resin-filterbar__main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  min-width:0;
}

body.nr-lacquers-page .resin-filterbar__hint,
body.nr-lacquers-page .resin-filterbar__count{
  color:rgba(228,225,219,.58);
  font-size:.82rem;
  line-height:1.45;
}

body.nr-lacquers-page .resin-filterbar__count{
  font-family:"Syne Mono",monospace;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.nr-lacquers-page .resin-filterbar__chips{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

body.nr-lacquers-page .resin-filter-chip,
body.nr-lacquers-page .resin-filterbar__clear{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.045);
  color:rgba(244,242,238,.86);
  font:700 .62rem/1 "Syne Mono",monospace;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
}

body.nr-lacquers-page .resin-filter-chip{
  padding:0 10px;
}

body.nr-lacquers-page .resin-filter-chip span{
  color:rgba(228,225,219,.48);
}

body.nr-lacquers-page .resin-filter-chip b{
  color:rgba(244,242,238,.68);
  font:800 .9rem/1 Inter,sans-serif;
}

body.nr-lacquers-page .resin-filterbar__clear{
  justify-self:end;
  padding:0 12px;
  color:rgba(228,225,219,.62);
}

body.nr-lacquers-page .resin-filter-chip:hover,
body.nr-lacquers-page .resin-filterbar__clear:hover{
  background:rgba(194,106,97,.12);
  border-color:rgba(194,106,97,.3);
  color:#fff;
}

body.nr-lacquers-page [data-filter-key]{
  cursor:pointer;
}

body.nr-lacquers-page [data-filter-key]:focus-visible{
  outline:2px solid rgba(194,106,97,.62);
  outline-offset:3px;
}

body.nr-lacquers-page td[data-filter-key]:hover,
body.nr-lacquers-page .lc-brand[data-filter-key]:hover,
body.nr-lacquers-page .lc-right[data-filter-key]:hover{
  color:#fff;
}

body.nr-lacquers-page .badge[data-filter-key]:hover{
  border-color:rgba(194,106,97,.42);
  background:rgba(194,106,97,.12);
}

body.nr-lacquers-page .table-wrap{
  max-height:none;
  overflow-x:auto;
  padding:8px;
  border-color:rgba(255,255,255,.1);
  border-radius:28px;
  background:rgba(18,19,21,.82);
  box-shadow:none;
  position:relative;
}

body.nr-lacquers-page table{
  min-width:1120px;
  border-spacing:0 10px;
}

body.nr-lacquers-page table th:nth-child(1){width:14%}
body.nr-lacquers-page table th:nth-child(2){width:28%}
body.nr-lacquers-page table th:nth-child(3){width:10%}
body.nr-lacquers-page table th:nth-child(4){width:10%}
body.nr-lacquers-page table th:nth-child(5){width:16%}
body.nr-lacquers-page table th:nth-child(6){width:12%}
body.nr-lacquers-page table th:nth-child(7){width:10%}

body.nr-lacquers-page thead{
  position:static;
  background:transparent;
  box-shadow:none;
}

body.nr-lacquers-page thead th{
  position:relative;
  padding:0 16px 10px;
  border:0;
  background:rgba(18,19,21,.98);
  color:rgba(228,225,219,.42);
  font-size:.64rem;
  letter-spacing:.18em;
}

body.nr-lacquers-page thead th::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:rgba(255,255,255,.08);
}

body.nr-lacquers-page thead th + th,
body.nr-lacquers-page tbody td + td{
  border-left:0;
}

body.nr-lacquers-page tbody td{
  padding:16px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(33,34,37,.92);
  box-shadow:none;
}

body.nr-lacquers-page tbody td:first-child{
  border-left:1px solid rgba(255,255,255,.08);
  border-radius:18px 0 0 18px;
}

body.nr-lacquers-page tbody td:last-child{
  border-right:1px solid rgba(255,255,255,.08);
  border-radius:0 18px 18px 0;
}

body.nr-lacquers-page tbody tr:hover td{
  background:rgba(41,42,46,.96);
}

body.nr-lacquers-page .td-brand{
  color:rgba(228,225,219,.7);
  font-family:"Syne Mono",monospace;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.08em;
  line-height:1.35;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}

body.nr-lacquers-page .td-name-wrap{
  display:grid;
  gap:7px;
  min-width:0;
}

body.nr-lacquers-page .td-product-name{
  display:block;
  color:rgba(248,246,241,.95);
  font-size:1rem;
  font-weight:760;
  line-height:1.35;
  letter-spacing:0;
  overflow-wrap:anywhere;
}

body.nr-lacquers-page .product-card-link{
  color:inherit;
  text-decoration:none;
  text-underline-offset:4px;
}

body.nr-lacquers-page .product-card-link:hover,
body.nr-lacquers-page .product-card-link:focus-visible{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:rgba(255,85,38,.76);
}

body.nr-lacquers-page .td-tds-meta{
  color:rgba(228,225,219,.5);
  font-size:.78rem;
  font-weight:650;
  line-height:1.35;
}

body.nr-lacquers-page .td-type,
body.nr-lacquers-page .td-effect,
body.nr-lacquers-page .td-method,
body.nr-lacquers-page .td-compat,
body.nr-lacquers-page .td-thermal{
  white-space:nowrap;
}

body.nr-lacquers-page .td-effect,
body.nr-lacquers-page .td-method{
  color:rgba(248,246,241,.9);
  font-weight:780;
}

body.nr-lacquers-page .td-effect::before,
body.nr-lacquers-page .td-method::before{
  display:block;
  margin-bottom:3px;
  color:rgba(228,225,219,.38);
  font-family:"Syne Mono",monospace;
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1;
  text-transform:uppercase;
}

body.nr-lacquers-page .td-effect::before{content:"efekt"}
body.nr-lacquers-page .td-method::before{content:"metoda"}

body.nr-lacquers-page .b-lacquer{
  border-color:rgba(126,196,184,.22);
  background:rgba(126,196,184,.08);
}

body.nr-lacquers-page .b-oil_wax{
  border-color:rgba(199,169,119,.28);
  background:rgba(199,169,119,.09);
}

body.nr-lacquers-page .b-coating{
  border-color:rgba(194,106,97,.24);
  background:rgba(194,106,97,.09);
}

body.nr-lacquers-page .b-compat-check{
  border-color:rgba(245,158,11,.3);
  background:rgba(245,158,11,.09);
  color:rgba(255,226,170,.88);
}

body.nr-lacquers-page .b-thermal{
  border-color:rgba(126,196,184,.26);
  background:rgba(126,196,184,.09);
  color:rgba(208,240,234,.9);
  letter-spacing:.08em;
}

body.nr-lacquers-page .lc-meta{
  margin-top:8px;
  font-size:.76rem;
  font-weight:650;
  line-height:1.38;
}

body.nr-lacquers-page .lc-right{
  min-width:112px;
  padding:12px 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.035);
  text-align:center;
}

body.nr-lacquers-page .lc-right-label{
  color:rgba(228,225,219,.46);
  font-family:"Syne Mono",monospace;
  font-size:.56rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.nr-lacquers-page .lc-right-value{
  margin-top:5px;
  color:rgba(244,242,238,.94);
  font-size:1rem;
  font-weight:800;
  line-height:1.12;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .b-compat-ok {
  border-color: rgba(74, 222, 128, 0.3);
  background: rgba(74, 222, 128, 0.1);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .b-compat-wood {
  border-color: rgba(245, 158, 11, 0.3);
  background: rgba(245, 158, 11, 0.1);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .tds-legend {
  margin-top: 18px;
  padding: 22px 24px;
  border: 1px solid var(--nr-page-card-border);
  border-radius: 22px;
  background: var(--nr-page-card-bg);
}

:is(body.nr-resins-page, body.nr-lacquers-page) .tds-legend-title {
  margin-bottom: 16px;
  color: var(--nr-subpage-text);
  font-family: var(--nr-subpage-mono-font);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .tds-legend-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .tds-legend-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--nr-subpage-text-dim);
  line-height: 1.5;
}

:is(body.nr-resins-page, body.nr-lacquers-page) .card-list {
  display: none;
}

@media (max-width: 1200px) {
  body.nr-resins-page .resin-hero__main{
    grid-template-columns:minmax(0,1fr) minmax(260px,320px);
    gap:34px;
  }

  body.nr-resins-page .page-title{
    font-size:6.4rem;
  }

  body.nr-resins-page .resin-hero__metric-value{
    font-size:4.7rem;
  }

  body.nr-lacquers-page .resin-hero__main{
    grid-template-columns:minmax(0,1fr) minmax(260px,320px);
    gap:34px;
  }

  body.nr-lacquers-page .page-title{
    font-size:6.4rem;
  }

  body.nr-lacquers-page .resin-hero__metric-value{
    font-size:4.7rem;
  }
}

@media (max-width: 900px) {
  :is(body.nr-resins-page, body.nr-lacquers-page) .container {
    width: calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
    max-width: var(--nr-shell-panel-max, 1408px);
    padding: 108px 0 72px;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .page-header {
    justify-items: start;
    text-align: left;
  }

  body.nr-resins-page .page-header{
    justify-items:stretch;
    gap:26px;
    padding-bottom:30px;
  }

  body.nr-resins-page .resin-hero__topline{
    align-items:flex-start;
    flex-direction:column;
  }

  body.nr-resins-page .resin-hero__main{
    grid-template-columns:1fr;
    gap:26px;
  }

  body.nr-resins-page .page-title{
    font-size:5rem;
  }

  body.nr-resins-page .page-sub{
    font-size:1.05rem;
  }

  body.nr-resins-page .resin-hero__side{
    padding:22px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.1);
  }

  body.nr-lacquers-page .page-header{
    justify-items:stretch;
    gap:26px;
    padding-bottom:30px;
  }

  body.nr-lacquers-page .resin-hero__topline{
    align-items:flex-start;
    flex-direction:column;
  }

  body.nr-lacquers-page .resin-hero__main{
    grid-template-columns:1fr;
    gap:26px;
  }

  body.nr-lacquers-page .page-title{
    font-size:5rem;
  }

  body.nr-lacquers-page .page-sub{
    font-size:1.05rem;
  }

  body.nr-lacquers-page .resin-hero__side{
    padding:22px 0 0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.1);
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .page-tag {
    letter-spacing: 0.2em;
  }

  body.nr-resins-page .page-tag{
    letter-spacing:0;
  }

  body.nr-lacquers-page .page-tag{
    letter-spacing:0;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .page-tag-line {
    width: 36px;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .table-wrap,
  :is(body.nr-resins-page, body.nr-lacquers-page) .tds-legend {
    display: none;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .card-list {
    display: grid;
    gap: 14px;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .l-card,
  :is(body.nr-resins-page, body.nr-lacquers-page) .r-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: start;
    padding: 18px;
    border: 1px solid var(--nr-page-card-border);
    border-radius: 20px;
    background: var(--nr-page-card-bg);
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .lc-name,
  :is(body.nr-resins-page, body.nr-lacquers-page) .rc-name {
    color: rgba(244, 242, 238, 0.94);
    font-size: 1.08rem;
    font-weight: 700;
    line-height: 1.25;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .lc-brand,
  :is(body.nr-resins-page, body.nr-lacquers-page) .rc-brand {
    margin-top: 4px;
    color: rgba(228, 225, 219, 0.58);
    font-family: "Syne Mono", monospace;
    font-size: 0.7rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .lc-badges,
  :is(body.nr-resins-page, body.nr-lacquers-page) .rc-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
  }

  body.nr-resins-page .rc-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px;
  }

  body.nr-resins-page .rc-actions .buy-link{
    min-height:32px;
    padding-inline:12px;
    font-size:.58rem;
  }

  body.nr-resins-page .rc-right{
    min-width:74px;
    padding:12px 10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    background:rgba(255,255,255,.035);
    text-align:center;
  }

  body.nr-resins-page .rc-thick{
    color:rgba(244,242,238,.94);
    font-size:1.25rem;
    font-weight:800;
    line-height:1;
  }

  body.nr-resins-page .rc-thick-unit{
    display:block;
    margin-top:4px;
    font-family:"Syne Mono",monospace;
    letter-spacing:.12em;
    text-transform:uppercase;
  }

  body.nr-resins-page .rc-pigment-pct{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:999px;
    background:rgba(255,255,255,.035);
  }

  body.nr-lacquers-page .lc-right{
    min-width:96px;
  }
}

@media (max-width: 640px) {
  body.nr-home-page #nr-initial-loader {
    padding: 18px 16px;
  }

  body.nr-home-page #nrl-title {
    margin-top: 8px;
  }

  body.nr-home-page .nrl-big {
    font-size: clamp(1.8rem, 12vw, 3.6rem);
  }

  body.nr-home-page .nrl-sub {
    font-size: 0.68rem;
    letter-spacing: 0.24em;
  }

  :is(body.nr-resins-page, body.nr-lacquers-page) .page-back {
    font-size: 0.66rem;
    letter-spacing: 0.1em;
  }

  body.nr-resins-page .page-back{
    letter-spacing:0;
  }

  body.nr-lacquers-page .page-back{
    letter-spacing:0;
  }

  body.nr-resins-page .page-title{
    font-size:3.35rem;
    line-height:.9;
  }

  body.nr-lacquers-page .page-title{
    font-size:3.35rem;
    line-height:.9;
  }

  body.nr-resins-page .resin-hero__stats{
    grid-template-columns:1fr;
  }

  body.nr-lacquers-page .resin-hero__stats{
    grid-template-columns:1fr;
  }

  body.nr-resins-page .resin-hero__stat + .resin-hero__stat{
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  body.nr-lacquers-page .resin-hero__stat + .resin-hero__stat{
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.08);
  }

  body.nr-resins-page .resin-hero__metric-value{
    font-size:4rem;
  }

  body.nr-lacquers-page .resin-hero__metric-value{
    font-size:4rem;
  }

  body.nr-resins-page .resin-hero__eyebrow,
  body.nr-resins-page .resin-hero__scope{
    font-size:.7rem;
  }

  body.nr-lacquers-page .resin-hero__eyebrow,
  body.nr-lacquers-page .resin-hero__scope{
    font-size:.7rem;
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--bg);
}

body.nr-page {
  margin: 0;
  min-height: 100vh;
  color: var(--nr-subpage-text);
  font-family: var(--nr-subpage-font);
  background: var(--nr-subpage-bg);
  background-color: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

button,
input,
textarea,
select {
  font: inherit;
}

::selection {
  background: rgba(194, 106, 97, 0.25);
  color: #fff;
}

.nr-shell {
  width: min(calc(100% - 32px), var(--nr-shell-max));
  margin: 0 auto;
}

.nr-stack {
  display: grid;
  gap: var(--nr-gap-4);
}

.nr-span-4 {
  grid-column: span 4;
}

.nr-span-6 {
  grid-column: span 6;
}

.nr-span-8 {
  grid-column: span 8;
}

.nr-span-12 {
  grid-column: span 12;
}

.nr-card {
  border-radius: var(--nr-radius-xl);
  border: 1px solid var(--nr-subpage-bento-border);
  background: var(--nr-subpage-bento-bg);
  box-shadow: var(--nr-subpage-bento-shadow);
}

.nr-card--soft {
  background: var(--nr-subpage-bento-bg-soft);
}

.nr-card--accent {
  border-color: var(--nr-page-accent-border, var(--nr-border-accent-ui));
  background: var(--nr-page-accent-bg, var(--nr-surface-accent));
}

.nr-card__body {
  padding: clamp(18px, 3vw, 30px);
}

.nr-eyebrow {
  margin: 0 0 10px;
  color: var(--accent-soft);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.nr-heading {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(1.5rem, 2.8vw, 3.2rem);
  font-weight: 800;
  line-height: 0.96;
  letter-spacing: -0.05em;
}

.nr-lead,
.nr-copy {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.75;
}

.nr-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(242, 239, 233, 0.82);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.nr-btn,
.nr-input,
.nr-select {
  min-height: 48px;
  border-radius: 14px;
  border: 1px solid var(--nr-border);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
}

.nr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  text-decoration: none;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nr-btn--primary {
  border-color: transparent;
  background: var(--nr-gradient-accent-cta);
  color: var(--nr-text-contrast);
}

.nr-btn--ghost {
  background: rgba(255, 255, 255, 0.03);
}

.nr-input,
.nr-select {
  width: 100%;
  padding: 12px 14px;
  outline: none;
}

.nr-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}

.nr-form-grid {
  display: grid;
  gap: 14px;
}

.nr-grid-2,
.nr-grid-3 {
  display: grid;
  gap: 12px;
}

.nr-grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nr-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nr-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.nr-kpi {
  min-height: 120px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid var(--nr-border);
  background: rgba(255, 255, 255, 0.03);
}

.nr-kpi__label {
  display: block;
  margin-bottom: 8px;
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nr-kpi__value {
  display: block;
  color: var(--text);
  font-size: clamp(1.2rem, 2.2vw, 1.8rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.nr-kpi__note {
  display: block;
  margin-top: 8px;
  color: var(--text-soft);
  font-size: 0.92rem;
  line-height: 1.6;
}

.nr-prose p,
.nr-prose li {
  color: var(--text-soft);
  line-height: 1.78;
}

.nr-prose ul,
.nr-prose ol {
  padding-left: 1.2rem;
}

/* Shared legal / docs shell (migration from shared.css) */
.page-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 5rem 2rem 8rem;
}

.doc-header {
  border-bottom: 1px solid var(--border);
  padding-bottom: 2.5rem;
  margin-bottom: 3.5rem;
}

.doc-tag {
  display: inline-block;
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border);
  padding: 0.3rem 0.75rem;
  border-radius: 999px;
  margin-bottom: 1.5rem;
}

.doc-title {
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.doc-meta {
  font-size: 0.82rem;
  color: var(--text-dim);
  font-family: var(--mono);
}

.toc {
  margin: 0 0 2rem;
  padding: 1.25rem 1.5rem;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.03);
}

.toc-title {
  margin-bottom: 0.9rem;
  color: var(--text);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.toc ol,
.toc ul {
  padding-left: 1.15rem;
}

.toc li,
.toc a {
  color: var(--text-muted);
}

.doc-content h2 {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 3.5rem;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--border);
}

.doc-content h3 {
  font-size: 1rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 0.6rem;
  color: var(--accent);
}

.doc-content p {
  color: var(--text-muted);
  margin-bottom: 1rem;
  font-size: 0.95rem;
}

.doc-content ul,
.doc-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.doc-content li {
  color: var(--text-muted);
  font-size: 0.93rem;
  margin-bottom: 0.4rem;
}

.doc-content strong {
  color: var(--text);
  font-weight: 600;
}

.info-box {
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-left: 3px solid rgba(255, 255, 255, 0.3);
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
  border-radius: 0 12px 12px 0;
}

.info-box p {
  margin: 0;
  color: var(--text-dim);
  font-size: 0.88rem;
}

.doc-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.87rem;
}

.doc-table th {
  text-align: left;
  padding: 0.6rem 1rem;
  background: var(--bg-3);
  color: var(--text-muted);
  font-family: var(--mono);
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid var(--border);
}

.doc-table td {
  padding: 0.7rem 1rem;
  border: 1px solid var(--border);
  color: var(--text-muted);
  vertical-align: top;
}

footer {
  border-top: 1px solid var(--border);
  padding: 2rem;
  text-align: center;
  color: var(--text-dim);
}

footer a {
  color: var(--text-muted);
  text-decoration: none;
}

footer a:hover {
  color: var(--text);
}

/* Shared subpage shell (migration from subpage-shell.css) */
body.subpage-shell-body {
  color: var(--text);
  font-family: var(--sans);
}

.subpage-shell {
  width: calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
  max-width: var(--nr-shell-panel-max, 1408px);
  margin: 0 auto;
  padding: 132px 0 88px;
}

.subpage-shell__stack {
  display: grid;
  gap: 26px;
}

.subpage-shell__hero {
  position: relative;
  overflow: clip;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 32px;
  border: 1px solid var(--nr-page-panel-border);
  background:
    radial-gradient(900px 420px at 100% 0%, rgba(194, 106, 97, 0.13), transparent 60%),
    radial-gradient(620px 360px at 0% 100%, rgba(126, 196, 184, 0.05), transparent 58%),
    var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
}

.subpage-shell__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 28px;
  align-items: end;
}

.subpage-shell__eyebrow,
.subpage-panel__eyebrow {
  margin: 0 0 14px;
  color: var(--accent-soft);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.subpage-shell__title,
.subpage-panel__title {
  margin: 0;
  color: var(--text);
  font-family: var(--sans);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.055em;
}

.subpage-shell__title {
  max-width: 12ch;
  font-size: clamp(2.6rem, 5.4vw, 5rem);
}

.subpage-panel__title {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
}

.subpage-shell__lead,
.subpage-panel__copy,
.subpage-prose p,
.subpage-callout__copy {
  color: var(--text-soft);
  line-height: 1.78;
}

.subpage-shell__lead {
  margin: 22px 0 0;
  max-width: 62ch;
  font-size: clamp(1rem, 1.7vw, 1.18rem);
}

.subpage-shell__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.subpage-chip {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
  color: rgba(242, 239, 233, 0.82);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.subpage-shell__meta,
.subpage-shell__layout,
.subpage-kpi-grid {
  display: grid;
  gap: 14px;
}

.subpage-shell__layout {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 24px;
  align-items: start;
}

.subpage-meta-card,
.subpage-panel,
.subpage-kpi,
.subpage-callout {
  border-radius: 18px;
  border: 1px solid var(--nr-page-card-border);
}

.subpage-meta-card,
.subpage-kpi {
  padding: 18px;
  background: rgba(255, 255, 255, 0.035);
}

.subpage-panel {
  padding: clamp(22px, 3vw, 30px);
  background: var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
}

.subpage-panel--soft {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.02));
}

.subpage-panel--accent {
  border-color: rgba(194, 106, 97, 0.22);
  background: linear-gradient(180deg, rgba(194, 106, 97, 0.08), rgba(194, 106, 97, 0.03));
}

.subpage-meta-label,
.subpage-kpi__label {
  display: block;
  margin-bottom: 8px;
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.subpage-meta-value,
.subpage-kpi__value {
  display: block;
  color: var(--text);
  font-size: clamp(1.2rem, 2.2vw, 1.8rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.subpage-kpi-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
}

.subpage-kpi__note {
  display: block;
  margin-top: 10px;
  color: var(--text-soft);
  font-size: 0.92rem;
  line-height: 1.65;
}

.subpage-divider {
  height: 1px;
  margin: 22px 0 0;
  border: 0;
  background: rgba(255, 255, 255, 0.10);
}

.subpage-list {
  display: grid;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}

.subpage-list li {
  position: relative;
  padding-left: 18px;
  color: var(--text-soft);
  line-height: 1.7;
}

.subpage-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(194, 106, 97, 0.12);
}

.subpage-callout {
  display: grid;
  gap: 8px;
  margin-top: 18px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.03);
}

.subpage-callout__title {
  color: var(--text);
}

@media (max-width: 1100px) {
  .nr-bento,
  .subpage-shell__hero-grid,
  .subpage-shell__layout {
    grid-template-columns: 1fr;
  }

  .nr-span-4,
  .nr-span-6,
  .nr-span-8,
  .nr-span-12 {
    grid-column: span 12;
  }
}

@media (max-width: 720px) {
  .nr-shell,
  .subpage-shell {
    width: min(calc(100% - 24px), var(--nr-shell-max));
  }

  .nr-grid-2,
  .nr-grid-3,
  .nr-kpi-grid,
  .subpage-kpi-grid {
    grid-template-columns: 1fr;
  }

  .page-wrap {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
  }
}

/* === NR MERGED EXTERNAL CSS: START === */
/* --- colors.css --- */
/*
 * NeuroResin Studio — Color Design Tokens
 * Zawiera też overrides hardkodowanych kolorów z legacy app core
 * (sekcja na dole pliku).
 * ========================================
 * Jedyne i kanoniczne miejsce dla wszystkich tokenów kolorystycznych.
 * Sekcja colors jest ładowana po NR APP CORE CSS — nadpisuje jej tokeny przez kolejność w pliku.
 *
 * Edytuj TUTAJ albo w site.css. assets/app.styles.css nie jest już aktywnym źródłem runtime.
 *
 * Grupy:
 *   1. Tła (bg)
 *   2. Powierzchnie (surface)
 *   3. Obramowania (border)
 *   4. Tekst (text)
 *   5. Akcent / marka (accent)
 *   6. Teal / info
 *   7. Statusy (success / warning / danger)
 *   8. Misc (glass, overlay, input, toolbar)
 */

/* ═══════════════════════════════════════════
   TRYB CIEMNY (domyślny)
   ═══════════════════════════════════════════ */
:root {
  color-scheme: dark;

  /* ── 1. Tła ─────────────────────────────── */
  --nr-bg:            #171719;   /* tło strony */
  --nr-bg-2:          #1b1c1f;   /* łagodne przejścia tła */
  --nr-bg-3:          #202124;   /* jaśniejsze tło modułów */
  --nr-bg-deep:       #111214;   /* najciemniejsze wgłębienia */
  --nr-bg-strong:     #0f1012;   /* mocny grafit pod overlaye */

  /* ── 2. Powierzchnie ────────────────────── */
  --nr-surface:          #1d1e21;   /* karty, panele */
  --nr-surface-alt:      #202124;   /* naprzemienne wiersze, sekcje */
  --nr-surface-elevated: #2a2b2f;   /* modale, dropdowny ↑ rozjaśnione */

  /* ── 3. Obramowania ─────────────────────── */
  --nr-border:       rgba(255,255,255,.12);  /* ↑ +4% (było .08) */
  --nr-border-solid: #38383c;               /* ↑ jaśniejszy separator */

  /* ── 4. Tekst ───────────────────────────── */
  --nr-text:     #f0f0ee;   /* tekst główny */
  --nr-text-sec: #c4c4c0;   /* tekst drugorzędny */
  --nr-muted:    #9a9aa0;   /* ↑ etykiety/placeholdery (było #85858a, kontrast ~5:1) */

  /* ── 5. Akcent / marka ──────────────────── */
  --nr-accent:      #c26a61;
  --nr-accent-soft: #d68a7f;
  --nr-accent-dim:  rgba(194,106,97,.12);
  --nr-accent-brd:  rgba(194,106,97,.25);

  /* ── 6. Teal (legacy) / info (warm sand) ─── */
  --nr-teal:      #7ec4b8;
  --nr-teal-dim:  rgba(126,196,184,.12);
  --nr-info:      #c9a773;
  --nr-info-soft: rgba(201,167,115,.14);
  --nr-info-brd:  rgba(201,167,115,.28);

  /* ── 7. Statusy ─────────────────────────── */
  --nr-success:      #7a9882;
  --nr-success-soft: rgba(122,152,130,.14);
  --nr-success-brd:  rgba(122,152,130,.24);

  --nr-warning:      #c88a52;
  --nr-warning-soft: rgba(200,138,82,.15);
  --nr-warning-brd:  rgba(200,138,82,.24);

  --nr-danger:      #d07a72;
  --nr-danger-soft: rgba(208,122,114,.15);
  --nr-danger-brd:  rgba(208,122,114,.24);

  /* ── 8. Misc ────────────────────────────── */
  --nr-glass:        linear-gradient(180deg, rgba(78,81,89,.85), rgba(62,65,73,.80));
  --nr-glass-border: rgba(255,255,255,.1);
  --nr-glass-shadow: 0 12px 40px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.08);
  --nr-overlay:      rgba(0,0,0,.75);
  --nr-input-bg:     rgba(255,255,255,.06);
  --nr-toolbar-bg:   linear-gradient(180deg, rgba(78,81,88,.95), rgba(68,71,78,.92));

  /* ── 9. Semantic UI roles ───────────────── */
  --nr-surface-faint: rgba(255,255,255,.02);
  --nr-surface-soft: rgba(255,255,255,.03);
  --nr-surface-soft-strong: rgba(255,255,255,.04);
  --nr-surface-chip: rgba(255,255,255,.05);
  --nr-surface-chip-strong: rgba(255,255,255,.08);
  --nr-surface-overlay: rgba(18,18,20,.86);
  --nr-surface-overlay-strong: rgba(23,23,25,.98);
  --nr-surface-overlay-soft: rgba(22,22,24,.50);
  --nr-surface-mask: rgba(14,14,16,.95);
  --nr-surface-skip: rgba(18,18,20,.96);

  --nr-border-faint: rgba(255,255,255,.06);
  --nr-border-soft-ui: rgba(255,255,255,.08);
  --nr-border-soft-plus: rgba(255,255,255,.09);
  --nr-border-mid: rgba(255,255,255,.10);
  --nr-border-strong-ui: rgba(255,255,255,.12);
  --nr-border-stronger: rgba(255,255,255,.14);
  --nr-border-accent-soft: rgba(194,106,97,.18);
  --nr-border-accent-ui: rgba(194,106,97,.24);
  --nr-border-accent-strong: rgba(194,106,97,.58);
  --nr-border-info-ui: rgba(126,196,184,.18);
  --nr-border-warning-ui: rgba(199,169,119,.24);

  --nr-text-strong-alpha: rgba(244,242,238,.88);
  --nr-text-soft-alpha: rgba(244,242,238,.86);
  --nr-text-muted-alpha: rgba(244,242,238,.74);
  --nr-text-subtle: rgba(255,255,255,.58);
  --nr-text-subtle-strong: rgba(255,255,255,.72);
  --nr-text-contrast: #fff;

  --nr-surface-accent: rgba(194,106,97,.08);
  --nr-surface-accent-strong: rgba(194,106,97,.10);
  --nr-surface-accent-cta: rgba(194,106,97,.14);
  --nr-surface-info-ui: rgba(126,196,184,.06);
  --nr-surface-info-strong: rgba(126,196,184,.10);
  --nr-surface-warning-ui: rgba(199,169,119,.08);
  --nr-surface-warning-strong: rgba(199,169,119,.10);
  --nr-surface-success-ui: rgba(74,222,128,.16);
  --nr-surface-hover-faint: rgba(255,255,255,.05);
  --nr-surface-hover: rgba(255,255,255,.10);
  --nr-surface-hover-strong: rgba(255,255,255,.15);
  --nr-surface-hover-brd: rgba(255,255,255,.20);
  --nr-surface-control-idle: rgba(255,255,255,.07);
  --nr-surface-control-active: rgba(255,255,255,.12);
  --nr-surface-abyss: rgba(15,15,17,.66);
  --nr-surface-darkest: rgba(12,12,14,.95);
  --nr-scrim-soft: rgba(0,0,0,.35);
  --nr-scrim-mid: rgba(0,0,0,.50);
  --nr-scrim-strong: rgba(0,0,0,.70);
  --nr-border-emphasis: rgba(255,255,255,.18);
  --nr-border-emphasis-strong: rgba(255,255,255,.30);
  --nr-border-control-active: rgba(255,255,255,.28);
  --nr-control-bg-deep: #141414;
  --nr-control-bg-dark: #1b1b1b;
  --nr-control-bg-strong: #202020;
  --nr-control-bg-elevated: #242424;
  --nr-control-bg-active: #292929;
  --nr-control-border-dark: #3a3a3a;
  --nr-control-border-soft: #3b3b3b;
  --nr-control-border-strong: #414141;
  --nr-control-border-contrast: #4f4f4f;
  --nr-control-text: #f5f5f5;
  --nr-control-text-soft: #ececec;
  --nr-control-text-mid: #e6e6e6;
  --nr-control-text-dim: #d0d0d0;
  --nr-control-text-faint: #acacac;

  --nr-paper-bg: #faf7f1;
  --nr-paper-surface: rgba(255,255,255,.96);
  --nr-paper-surface-muted: #f2eee7;
  --nr-paper-text: #171717;
  --nr-paper-text-soft: rgba(23,23,23,.74);
  --nr-paper-text-dim: rgba(23,23,23,.56);
  --nr-paper-border-ui: rgba(23,23,23,.08);
  --nr-paper-border-strong: rgba(23,23,23,.22);

  --nr-gradient-page:
    radial-gradient(1200px 800px at 18% 14%, rgba(194,106,97,.05), transparent 55%),
    radial-gradient(900px 700px at 82% 22%, rgba(194,106,97,.03), transparent 55%),
    linear-gradient(180deg, #1a1b1d 0%, #1a1b1d 100%);
  --nr-gradient-loader:
    radial-gradient(1200px 820px at 18% 10%, rgba(194,106,97,.12), transparent 46%),
    radial-gradient(880px 700px at 84% 18%, rgba(126,196,184,.06), transparent 54%),
    linear-gradient(180deg, #202124 0%, #1b1c1f 36%, #171719 100%);
  --nr-gradient-panel: linear-gradient(180deg, rgba(31,32,35,.96), rgba(23,24,26,.94));
  --nr-gradient-accent-cta: linear-gradient(180deg, rgba(194,106,97,.96), rgba(178,89,81,.94));
  --nr-gradient-viz:
    radial-gradient(1000px 560px at 50% 50%, rgba(255,255,255,.04), transparent 58%),
    #18191b;

  /* ── 10. Globalny skin podstron ──────────────
     Edytuj ten blok, gdy chcesz zmienić tło, fonty albo bento na stronach:
     blog, dokumentacja, kontakt, baza żywic/lakierów, status i zaproponuj markę. */
  --nr-subpage-bg: var(--nr-gradient-page);
  --nr-subpage-font: var(--nr-font-ui);
  --nr-subpage-heading-font: var(--nr-font-sans);
  --nr-subpage-mono-font: var(--nr-font-mono);
  --nr-subpage-text: var(--nr-text);
  --nr-subpage-text-soft: var(--nr-text-soft);
  --nr-subpage-text-muted: var(--nr-text-subtle-strong);
  --nr-subpage-text-dim: var(--nr-text-subtle);
  --nr-subpage-bento-bg: var(--nr-surface-overlay-soft);
  --nr-subpage-bento-bg-soft: var(--nr-surface-soft);
  --nr-subpage-bento-bg-strong: var(--nr-surface-soft-strong);
  --nr-subpage-bento-border: var(--nr-border-soft-plus);
  --nr-subpage-bento-border-soft: var(--nr-border-soft-ui);
  --nr-subpage-bento-shadow: var(--nr-shadow-panel);
  --nr-subpage-chip-bg: var(--nr-surface-soft-strong);
  --nr-subpage-chip-bg-strong: var(--nr-surface-chip-strong);
  --nr-subpage-chip-text: var(--nr-text-soft-alpha);
  --nr-subpage-divider: var(--nr-border-faint);

  --nr-shadow-header: 0 1px 0 rgba(194,106,97,.15), 0 20px 40px rgba(0,0,0,.4);
  --nr-shadow-dropdown: 0 16px 36px rgba(0,0,0,.42);
  --nr-shadow-mobile-panel: 0 28px 70px rgba(0,0,0,.52);
  --nr-shadow-panel: 0 24px 72px rgba(0,0,0,.22);
  --nr-shadow-panel-lg: 0 30px 80px rgba(0,0,0,.28);
  --nr-shadow-inset-ui: inset 0 1px 0 rgba(255,255,255,.08);
  --nr-shadow-utility-lg: 0 8px 24px rgba(0,0,0,.35);
  --nr-shadow-utility-xl: 0 12px 32px rgba(0,0,0,.40);
  --nr-shadow-utility-2xl: 0 16px 48px rgba(0,0,0,.50);
  --nr-shadow-alert: 0 0 0 1px var(--nr-border-mid), 0 18px 70px rgba(0,0,0,.45);
  --nr-shadow-alert-hot: 0 0 0 1px var(--nr-border-accent-ui), 0 18px 80px rgba(194,106,97,.15);
  --nr-shadow-accent-cta: 0 18px 40px rgba(194,106,97,.18);
  --nr-shadow-paper: 0 26px 64px rgba(0,0,0,.28);
  --nr-shadow-ring-warning: 0 0 0 6px rgba(199,169,119,.08);
  --nr-shadow-status-online: 0 0 6px rgba(61,220,132,.5);
  --nr-shadow-status-offline: 0 0 6px rgba(224,92,92,.45);
  --nr-shadow-status-checking: 0 0 6px rgba(224,160,80,.45);
}

/* ═══════════════════════════════════════════
   TRYB JASNY  [data-theme="light"]
   ═══════════════════════════════════════════ */
[data-theme="light"] {
  color-scheme: light;

  /* ── 1. Tła ─────────────────────────────── */
  --nr-bg:      #e8e6e1;
  --nr-bg-deep: #dfddd8;

  /* ── 2. Powierzchnie ────────────────────── */
  --nr-surface:          #f2f0ec;
  --nr-surface-alt:      #eae8e3;
  --nr-surface-elevated: #ffffff;

  /* ── 3. Obramowania ─────────────────────── */
  --nr-border:       rgba(0,0,0,.09);   /* ↑ lekko mocniejszy */
  --nr-border-solid: #c8c5be;

  /* ── 4. Tekst ───────────────────────────── */
  --nr-text:     #1e1e1c;
  --nr-text-sec: #4a4a46;
  --nr-muted:    #8a8a86;

  /* ── 5. Akcent / marka ──────────────────── */
  --nr-accent:      #c75c4a;
  --nr-accent-soft: #d97f6f;
  --nr-accent-dim:  rgba(199,92,74,.08);
  --nr-accent-brd:  rgba(199,92,74,.2);

  /* ── 6. Teal (legacy) / info (warm sand) ─── */
  --nr-teal:      #2d7a6f;
  --nr-teal-dim:  rgba(45,122,111,.08);
  --nr-info:      #8c6f37;
  --nr-info-soft: rgba(140,111,55,.09);
  --nr-info-brd:  rgba(140,111,55,.22);

  /* ── 7. Statusy ─────────────────────────── */
  --nr-success:      #55745f;
  --nr-success-soft: rgba(85,116,95,.10);
  --nr-success-brd:  rgba(85,116,95,.18);

  --nr-warning:      #b0713b;
  --nr-warning-soft: rgba(176,113,59,.10);
  --nr-warning-brd:  rgba(176,113,59,.18);

  --nr-danger:      #bf665d;
  --nr-danger-soft: rgba(191,102,93,.10);
  --nr-danger-brd:  rgba(191,102,93,.18);

  /* ── 8. Misc ────────────────────────────── */
  --nr-glass:        linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,246,242,.88));
  --nr-glass-border: rgba(0,0,0,.06);
  --nr-glass-shadow: 0 8px 30px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,.6);
  --nr-overlay:      rgba(240,238,233,.85);
  --nr-input-bg:     rgba(0,0,0,.04);
  --nr-toolbar-bg:   linear-gradient(180deg, rgba(242,240,236,.97), rgba(234,232,227,.95));

  /* ── 9. Semantic UI roles ───────────────── */
  --nr-surface-faint: rgba(0,0,0,.02);
  --nr-surface-soft: rgba(0,0,0,.03);
  --nr-surface-soft-strong: rgba(0,0,0,.04);
  --nr-surface-chip: rgba(0,0,0,.05);
  --nr-surface-chip-strong: rgba(0,0,0,.08);
  --nr-surface-overlay: rgba(255,255,255,.86);
  --nr-surface-overlay-strong: rgba(255,255,255,.98);
  --nr-surface-overlay-soft: rgba(255,255,255,.78);
  --nr-surface-mask: rgba(244,241,235,.96);
  --nr-surface-skip: rgba(255,255,255,.96);

  --nr-border-faint: rgba(0,0,0,.06);
  --nr-border-soft-ui: rgba(0,0,0,.08);
  --nr-border-soft-plus: rgba(0,0,0,.09);
  --nr-border-mid: rgba(0,0,0,.10);
  --nr-border-strong-ui: rgba(0,0,0,.12);
  --nr-border-stronger: rgba(0,0,0,.14);
  --nr-border-accent-soft: rgba(199,92,74,.18);
  --nr-border-accent-ui: rgba(199,92,74,.24);
  --nr-border-accent-strong: rgba(199,92,74,.42);
  --nr-border-info-ui: rgba(45,122,111,.18);
  --nr-border-warning-ui: rgba(176,113,59,.24);

  --nr-text-strong-alpha: rgba(30,30,28,.88);
  --nr-text-soft-alpha: rgba(30,30,28,.82);
  --nr-text-muted-alpha: rgba(30,30,28,.68);
  --nr-text-subtle: rgba(0,0,0,.56);
  --nr-text-subtle-strong: rgba(0,0,0,.72);
  --nr-text-contrast: #1e1e1c;

  --nr-surface-accent: rgba(199,92,74,.08);
  --nr-surface-accent-strong: rgba(199,92,74,.12);
  --nr-surface-accent-cta: rgba(199,92,74,.16);
  --nr-surface-info-ui: rgba(45,122,111,.06);
  --nr-surface-info-strong: rgba(45,122,111,.10);
  --nr-surface-warning-ui: rgba(176,113,59,.08);
  --nr-surface-warning-strong: rgba(176,113,59,.10);
  --nr-surface-success-ui: rgba(85,116,95,.12);
  --nr-surface-hover-faint: rgba(0,0,0,.03);
  --nr-surface-hover: rgba(0,0,0,.06);
  --nr-surface-hover-strong: rgba(0,0,0,.08);
  --nr-surface-hover-brd: rgba(0,0,0,.10);
  --nr-surface-control-idle: rgba(0,0,0,.05);
  --nr-surface-control-active: rgba(0,0,0,.08);
  --nr-surface-abyss: rgba(10,10,13,.62);
  --nr-surface-darkest: rgba(8,11,17,.95);
  --nr-scrim-soft: rgba(0,0,0,.35);
  --nr-scrim-mid: rgba(0,0,0,.50);
  --nr-scrim-strong: rgba(0,0,0,.70);
  --nr-border-emphasis: rgba(0,0,0,.12);
  --nr-border-emphasis-strong: rgba(0,0,0,.18);
  --nr-border-control-active: rgba(0,0,0,.18);
  --nr-control-bg-deep: #f2f0ec;
  --nr-control-bg-dark: #f6f4ef;
  --nr-control-bg-strong: #faf8f4;
  --nr-control-bg-elevated: #ffffff;
  --nr-control-bg-active: #ebe6df;
  --nr-control-border-dark: rgba(0,0,0,.12);
  --nr-control-border-soft: rgba(0,0,0,.10);
  --nr-control-border-strong: rgba(0,0,0,.16);
  --nr-control-border-contrast: rgba(0,0,0,.18);
  --nr-control-text: #1e1e1c;
  --nr-control-text-soft: #242420;
  --nr-control-text-mid: #3a3a34;
  --nr-control-text-dim: #5b5b56;
  --nr-control-text-faint: #7a7a74;

  --nr-paper-bg: #faf7f1;
  --nr-paper-surface: rgba(255,255,255,.96);
  --nr-paper-surface-muted: #f2eee7;
  --nr-paper-text: #171717;
  --nr-paper-text-soft: rgba(23,23,23,.74);
  --nr-paper-text-dim: rgba(23,23,23,.56);
  --nr-paper-border-ui: rgba(23,23,23,.08);
  --nr-paper-border-strong: rgba(23,23,23,.22);

  --nr-gradient-page:
    radial-gradient(1400px 920px at 50% 10%, rgba(255,255,255,.56), rgba(255,255,255,0) 66%),
    radial-gradient(1200px 800px at 18% 14%, rgba(199,92,74,.08), transparent 55%),
    radial-gradient(900px 700px at 82% 22%, rgba(45,122,111,.04), transparent 55%),
    linear-gradient(180deg, #f3f1ec 0%, #ebe9e3 42%, #e8e6e1 100%);
  --nr-gradient-loader:
    radial-gradient(1200px 820px at 18% 10%, rgba(199,92,74,.10), transparent 46%),
    radial-gradient(880px 700px at 84% 18%, rgba(45,122,111,.05), transparent 54%),
    linear-gradient(180deg, #f3f1ec 0%, #ebe9e3 36%, #e8e6e1 100%);
  --nr-gradient-panel: linear-gradient(180deg, rgba(255,255,255,.96), rgba(247,245,241,.94));
  --nr-gradient-accent-cta: linear-gradient(180deg, rgba(199,92,74,.96), rgba(184,83,66,.92));
  --nr-gradient-viz:
    radial-gradient(1000px 560px at 50% 50%, rgba(0,0,0,.03), transparent 58%),
    #eef0f4;

  --nr-shadow-header: 0 1px 0 rgba(199,92,74,.10), 0 20px 40px rgba(0,0,0,.08);
  --nr-shadow-dropdown: 0 16px 36px rgba(0,0,0,.12);
  --nr-shadow-mobile-panel: 0 28px 70px rgba(0,0,0,.16);
  --nr-shadow-panel: 0 24px 72px rgba(0,0,0,.10);
  --nr-shadow-panel-lg: 0 30px 80px rgba(0,0,0,.12);
  --nr-shadow-inset-ui: inset 0 1px 0 rgba(255,255,255,.55);
  --nr-shadow-utility-lg: 0 8px 24px rgba(0,0,0,.10);
  --nr-shadow-utility-xl: 0 12px 32px rgba(0,0,0,.12);
  --nr-shadow-utility-2xl: 0 16px 48px rgba(0,0,0,.16);
  --nr-shadow-alert: 0 0 0 1px var(--nr-border-mid), 0 18px 70px rgba(0,0,0,.10);
  --nr-shadow-alert-hot: 0 0 0 1px var(--nr-border-accent-ui), 0 18px 80px rgba(199,92,74,.12);
  --nr-shadow-accent-cta: 0 18px 40px rgba(199,92,74,.16);
  --nr-shadow-paper: 0 26px 64px rgba(0,0,0,.16);
  --nr-shadow-ring-warning: 0 0 0 6px rgba(176,113,59,.08);
  --nr-shadow-status-online: 0 0 6px rgba(85,116,95,.36);
  --nr-shadow-status-offline: 0 0 6px rgba(191,102,93,.32);
  --nr-shadow-status-checking: 0 0 6px rgba(176,113,59,.32);
}

/* ═══════════════════════════════════════════
   OVERRIDES — hardkodowane kolory w legacy app core
   (nie używają zmiennych CSS, więc trzeba nadpisać wprost)
   ═══════════════════════════════════════════ */

/* Tło body — gradient z hardkodowanymi wartościami */
html, body {
  background-color: var(--nr-bg);
}
body {
  background-color: var(--nr-bg);
  background-image: var(--nr-gradient-page);
}

/* Klasa na <body> — hardkodowana zamiast var() */
.bg-\[\#18181b\] { background-color: var(--nr-bg); }


/* ── Marginesy boczne — desktop ─────────────
   Zwiększone z 32px → 56px na ekranach ≥ 981px  */
@media (min-width: 981px) {
  #nr-scroll-root {
    padding-left:  56px;
    padding-right: 56px;
  }
}

/* ── Lista żywic: liczba widocznych wierszy ──
   Desktop: 8 wierszy × 52px = 416px
   Mobile:  5 wierszy × 74px = 370px          */
.nr-layout-resin .nr-resin-rows {
  max-height: 416px;
}
@media (max-width: 980px) {
  .nr-layout-resin .nr-resin-rows {
    max-height: 370px;
  }
}

/* ── Uproszczenie kart barwników — chowamy nadmiarowe elementy ── */

/* Rząd flag (Głębokość / Utwardzanie / Opada / Warstwy) — za dużo danych naraz */
.nr-pig-card-flags { display: none; }

/* nr-page-shell::after — tworzy widoczną linię odcięcia */
.nr-page-shell::after {
  display: none;
}

/* ── Ujednolicenie border-radius z resztą strony (8px) ── */
/* Przyciski CTA w boksach reklamowych — były 12px */
.nr-cta-btn {
  border-radius: 8px;
}
/* Przyciski eksportu — były 22px */

/* ═══════════════════════════════════════════
   BUTTON TONE OVERRIDES
   Specyficzność #root button (0,1,1) jest wyższa niż nasze klasy (0,1,0).
   Musimy użyć #root button.nr-* żeby wygrać.
   ═══════════════════════════════════════════ */

#root button.nr-btn-active,
#nr-modal-root button.nr-btn-active,
.nr-btn-active {
  background: var(--nr-surface-control-active);
  border-color: var(--nr-border-control-active);
  color: var(--nr-text);
}

#root button.nr-btn-idle,
#nr-modal-root button.nr-btn-idle,
.nr-btn-idle {
  background: var(--nr-surface-control-idle);
  border-color: var(--nr-border-soft-plus);
  color: var(--nr-text-sec);
}
#root button.nr-btn-idle:hover,
#nr-modal-root button.nr-btn-idle:hover,
.nr-btn-idle:hover {
  background: var(--nr-surface-control-active);
}

#root button.nr-btn-hint-lime,
#nr-modal-root button.nr-btn-hint-lime,
.nr-btn-hint-lime {
  background: var(--nr-surface-success-ui);
  border-color: var(--nr-success-brd);
  color: var(--nr-success);
}

#root button.nr-btn-accent-active,
#nr-modal-root button.nr-btn-accent-active,
.nr-btn-accent-active {
  background: var(--nr-surface-accent-cta);
  border-color: var(--nr-border-accent-strong);
  color: var(--nr-text-contrast);
}

/* Hover overrides for action buttons */
#root button.nr-hover-faint:hover,
.nr-hover-faint:hover {
  background: var(--nr-surface-hover-faint);
}
#root button.nr-hover-subtle:hover,
.nr-hover-subtle:hover {
  background: var(--nr-surface-hover);
}
#root button.nr-hover-mid:hover,
.nr-hover-mid:hover {
  background: var(--nr-surface-hover-strong);
}
#root button.nr-hover-brd:hover,
.nr-hover-brd:hover {
  background: var(--nr-surface-hover-brd);
}
#root button.nr-hover-accent:hover,
.nr-hover-accent:hover {
  background: var(--nr-surface-accent-cta);
  border-color: var(--nr-border-accent-strong);
}
#root button.nr-hover-success:hover,
#root button.nr-hover-emerald:hover,
#root button.nr-hover-lime:hover,
.nr-hover-success:hover,
.nr-hover-emerald:hover,
.nr-hover-lime:hover {
  background: var(--nr-surface-success-ui);
  border-color: var(--nr-success-brd);
}
#root button.nr-hover-amber:hover,
.nr-hover-amber:hover,
.nr-hover-amber-faint:hover {
  background: var(--nr-warning-soft);
  border-color: var(--nr-warning-brd);
}
#root button.nr-hover-sky:hover,
.nr-hover-sky:hover {
  background: var(--nr-info-soft);
  border-color: var(--nr-info-brd);
}

/* Disabled buttons */
#root button.nr-disabled-dim:disabled { opacity: 0.35; }
#root button.nr-disabled-60:disabled  { opacity: 0.60; }
#root button.nr-disabled-na:disabled  { cursor: not-allowed; }

/* ═══════════════════════════════════════════
   RISK ALERT PANEL LEVELS
   ═══════════════════════════════════════════ */
/* Zamiast pełnego czerwonego tła — neutralna (ciemna) karta + PULSUJĄCA czerwona
   krawędź (ten sam obracający się pierścień conic co "Brakujące dane"). Mniej agresywne,
   spójne z resztą, a alarm nadal czytelny (czerwony tytuł, ⚠️, kafelki BHP). */
.nr-risk-critical {
  background: linear-gradient(to right, var(--nr-surface-overlay-soft), var(--nr-surface-mask), var(--nr-surface-overlay-soft));
  border-color: var(--nr-danger-brd);
  isolation: isolate;
}
.nr-risk-critical::before,
.nr-risk-critical::after {
  content: "";
  position: absolute;
  inset: 0;               /* wewnątrz — panel ma overflow:hidden, inset:-2px zostałby przycięty */
  border-radius: inherit;
  pointer-events: none;
  padding: 2px;
  z-index: 2;
  background: conic-gradient(
    from var(--nr-mass-ring-angle),
    rgba(251,113,133,0) 0deg,
    rgba(251,113,133,0) 276deg,
    rgba(251,113,133,.95) 322deg,
    rgba(254,202,202,.92) 344deg,
    rgba(251,113,133,0) 1turn
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
}
.nr-risk-critical::before { animation: nrMassRingSpin 2.8s linear infinite; }
.nr-risk-critical::after { filter: blur(7px); animation: nrMassRingSpin 2.8s linear infinite, nrMassRingPulse 1.9s ease-in-out infinite; }
.nr-risk-warning {
  background: linear-gradient(to right, var(--nr-surface-warning-strong), var(--nr-surface-mask), var(--nr-surface-overlay-soft));
  border-color: var(--nr-warning-brd);
}
.nr-risk-info {
  background: linear-gradient(to right, var(--nr-surface-info-strong), var(--nr-surface-mask), var(--nr-surface-overlay-soft));
  border-color: var(--nr-info-brd);
}
.nr-risk-none {
  background: linear-gradient(to right, var(--nr-surface-overlay-soft), var(--nr-surface-mask), var(--nr-surface-overlay-soft));
  border-color: var(--nr-border-mid);
}

/* --- nr-utils.css --- */
/*
 * NeuroResin Studio — nr-* Utility Classes
 * Lokalny zestaw utility klas projektu.
 * Ładowane PO colors.css — korzysta z tokenów --nr-*.
 *
 * Grupy:
 *   1. Layout (display, position, flex, grid)
 *   2. Sizing (w, h, min, max)
 *   3. Spacing (p, m, gap, space-y)
 *   4. Typography (font, text, tracking, leading)
 *   5. Colors — tekst
 *   6. Backgrounds
 *   7. Borders
 *   8. States (hover, disabled, active)
 *   9. Button tones (toolbar)
 *  10. Misc (opacity, z-index, positioning, overflow, cursor, etc.)
 */

/* ═══════════════════════════════════════════
   1. LAYOUT
   ═══════════════════════════════════════════ */

/* Display */
.nr-flex        { display: flex }
.nr-inline-flex { display: inline-flex }
.nr-flex-col    { flex-direction: column }
.nr-flex-row    { flex-direction: row }
.nr-flex-wrap   { flex-wrap: wrap }
.nr-flex-nowrap { flex-wrap: nowrap }
.nr-flex-1      { flex: 1 1 0%; min-width: 0 }
.nr-shrink-0    { flex-shrink: 0 }
.nr-min-w-0     { min-width: 0 }

.nr-grid          { display: grid }
.nr-grid-cols-1   { grid-template-columns: repeat(1, minmax(0, 1fr)) }
.nr-grid-cols-2   { grid-template-columns: repeat(2, minmax(0, 1fr)) }
.nr-grid-cols-3   { grid-template-columns: repeat(3, minmax(0, 1fr)) }
.nr-grid-cols-12  { grid-template-columns: repeat(12, minmax(0, 1fr)) }

.nr-col-span-12 { grid-column: span 12 / span 12 }
.nr-col-span-2  { grid-column: span 2 / span 2 }

.nr-block        { display: block }
.nr-inline-block { display: inline-block }
.nr-hidden       { display: none }

/* Position */
.nr-relative    { position: relative }
.nr-absolute    { position: absolute }
.nr-fixed       { position: fixed }
.nr-inset-0     { inset: 0 }
.nr-top-0       { top: 0 }
.nr-top-3       { top: 12px }
.nr-top-4       { top: 16px }
.nr-right-0     { right: 0 }
.nr-right-3     { right: 12px }
.nr-right-4     { right: 16px }
.nr-left-0      { left: 0 }

/* Justify / Align */
.nr-justify-between { justify-content: space-between }
.nr-justify-center  { justify-content: center }
.nr-justify-start   { justify-content: flex-start }
.nr-items-center    { align-items: center }
.nr-items-start     { align-items: flex-start }
.nr-items-end       { align-items: flex-end }

/* App shell — przezroczyste tło, żeby body decydowało o kolorze (bez "ramki" wokół kalkulatora) */
.nr-app-shell {
  min-height: 100svh;
  background-color: transparent;
  color: var(--nr-text);
  font-family: system-ui, -apple-system, sans-serif;
}

/* (nr-flex-1 defined above — no duplicate) */

/* Scroll areas */
.nr-overflow-hidden   { overflow: hidden }
.nr-overflow-visible  { overflow: visible }
.nr-overflow-y-auto   { overflow-y: auto }
.nr-overflow-x-auto   { overflow-x: auto }

/* ═══════════════════════════════════════════
   2. SIZING
   ═══════════════════════════════════════════ */

.nr-w-full  { width: 100% }
.nr-w-auto  { width: auto }
.nr-w-0     { width: 0 }
.nr-w-px    { width: 2px }
.nr-w-8     { width: 32px }
.nr-w-9     { width: 36px }
.nr-w-14    { width: 56px }
.nr-w-24    { width: 96px }

.nr-h-full  { height: 100% }
.nr-h-auto  { height: auto }
.nr-h-px2   { height: 2px }
.nr-h-1     { height: 4px }
.nr-h-2     { height: 8px }
.nr-h-7     { height: 28px }
.nr-h-8     { height: 32px }
.nr-h-9     { height: 36px }
.nr-h-10    { height: 40px }
.nr-h-11    { height: 44px }
.nr-h-12    { height: 48px }
.nr-h-40    { height: 160px }
.nr-min-h-0 { min-height: 0 }

.nr-min-w-84  { min-width: 84px }
.nr-min-w-28  { min-width: 28px }
.nr-min-w-200 { min-width: 200px }

.nr-max-w-full { max-width: 100% }
.nr-max-w-6xl  { max-width: 72rem }
.nr-max-w-620  { max-width: 620px }
.nr-max-w-980  { max-width: 980px }
.nr-max-h-180  { max-height: 180px }
.nr-max-h-full { max-height: 100% }
.nr-w-12       { width: 48px }

/* ═══════════════════════════════════════════
   3. SPACING
   ═══════════════════════════════════════════ */

/* Gap */
.nr-gap-1 { gap: 4px }
.nr-gap-2 { gap: 8px }
.nr-gap-3 { gap: 12px }
.nr-gap-4 { gap: 16px }
.nr-gap-6 { gap: 24px }

/* Padding */
.nr-p-0  { padding: 0 }
.nr-p-2  { padding: 8px }
.nr-p-3  { padding: 12px }
.nr-p-4  { padding: 16px }
.nr-p-5  { padding: 20px }
.nr-p-6  { padding: 24px }
.nr-p-8  { padding: 32px }

.nr-px-1 { padding-left: 4px;  padding-right: 4px }
.nr-px-2 { padding-left: 8px;  padding-right: 8px }
.nr-px-3 { padding-left: 12px; padding-right: 12px }
.nr-px-4 { padding-left: 16px; padding-right: 16px }
.nr-px-5 { padding-left: 20px; padding-right: 20px }
.nr-px-6 { padding-left: 24px; padding-right: 24px }
.nr-px-8 { padding-left: 32px; padding-right: 32px }

.nr-py-1 { padding-top: 4px;  padding-bottom: 4px }
.nr-py-2 { padding-top: 8px;  padding-bottom: 8px }
.nr-py-3 { padding-top: 12px; padding-bottom: 12px }
.nr-py-4 { padding-top: 16px; padding-bottom: 16px }

.nr-pt-2  { padding-top: 8px }
.nr-pt-3  { padding-top: 12px }
.nr-pt-4  { padding-top: 16px }
.nr-pt-12 { padding-top: 48px }

.nr-pb-4  { padding-bottom: 16px }
.nr-pb-20 { padding-bottom: 80px }

.nr-pl-1  { padding-left: 4px }
.nr-pl-5  { padding-left: 20px }
.nr-pr-14 { padding-right: 56px }

/* Margin */
.nr-mt-1  { margin-top: 4px }
.nr-mt-2  { margin-top: 8px }
.nr-mt-3  { margin-top: 12px }
.nr-mt-4  { margin-top: 16px }
.nr-mt-5  { margin-top: 20px }
.nr-mt-6  { margin-top: 24px }

.nr-mb-1  { margin-bottom: 4px }
.nr-mb-2  { margin-bottom: 8px }
.nr-mb-3  { margin-bottom: 12px }
.nr-mb-4  { margin-bottom: 16px }
.nr-mb-5  { margin-bottom: 20px }
.nr-mb-6  { margin-bottom: 24px }

.nr-mx-auto { margin-left: auto; margin-right: auto }
.nr-mx-1    { margin-left: 4px;  margin-right: 4px }
.nr-ml-2    { margin-left: 8px }
.nr-mr-1    { margin-right: 4px }

/* Space-y (gap between children using margin) */
.nr-space-y-1 > * + * { margin-top: 4px }
.nr-space-y-2 > * + * { margin-top: 8px }
.nr-space-y-3 > * + * { margin-top: 12px }
.nr-space-y-4 > * + * { margin-top: 16px }
.nr-space-y-6 > * + * { margin-top: 24px }

/* ═══════════════════════════════════════════
   4. TYPOGRAPHY
   ═══════════════════════════════════════════ */

/* Font sizes */
.nr-text-3xs { font-size: 9px }
.nr-text-2xs { font-size: 10px }
.nr-text-xs  { font-size: 11px }
.nr-text-sm  { font-size: 12px }
.nr-text-md  { font-size: 13px }
.nr-text-base{ font-size: 14px }
.nr-text-lg  { font-size: 15px }
.nr-text-xl  { font-size: 18px }
.nr-text-2xl { font-size: 22px }
.nr-text-3xl { font-size: 28px }
.nr-text-huge{ font-size: 120px }

/* Font weights */
.nr-fw-500 { font-weight: 500 }
.nr-fw-600 { font-weight: 600 }
.nr-fw-700 { font-weight: 700 }
.nr-fw-900 { font-weight: 900 }

/* Text transform / case */
.nr-uppercase   { text-transform: uppercase }
.nr-normal-case { text-transform: none }
.nr-italic      { font-style: italic }
.nr-font-mono   { font-family: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, monospace }

/* Letter spacing */
.nr-tracking-tighter { letter-spacing: -0.05em }
.nr-tracking-tight   { letter-spacing: -0.025em }
.nr-tracking-xs      { letter-spacing: 0.03em }
.nr-tracking-sm      { letter-spacing: 0.06em }
.nr-tracking-md      { letter-spacing: 0.09em }
.nr-tracking-lg      { letter-spacing: 0.12em }
.nr-tracking-xl      { letter-spacing: 0.16em }
.nr-tracking-2xl     { letter-spacing: 0.22em }

/* Line height */
.nr-leading-none  { line-height: 1 }
.nr-leading-tight { line-height: 1.25 }
.nr-leading-loose { line-height: 1.7 }

/* Text align */
.nr-text-center { text-align: center }

/* Text overflow */
.nr-truncate       { overflow: hidden; text-overflow: ellipsis; white-space: nowrap }
.nr-text-ellipsis  { text-overflow: ellipsis }
.nr-nowrap         { white-space: nowrap }
.nr-break-words    { word-break: break-word }
.nr-break-all      { word-break: break-all }

/* ═══════════════════════════════════════════
   5. TEXT COLORS
   ═══════════════════════════════════════════ */

.nr-col-text    { color: var(--nr-text) }
.nr-col-sec     { color: var(--nr-text-sec) }
.nr-col-muted   { color: var(--nr-muted) }
.nr-col-accent  { color: var(--nr-accent) }
.nr-col-inverse { color: var(--nr-bg) }

/* Accent shades */
.nr-col-accent-lt   { color: #ffd8d4 }
.nr-col-accent-soft { color: var(--nr-accent-soft) }

/* Status */
.nr-col-success  { color: var(--nr-success) }
.nr-col-danger   { color: var(--nr-danger) }
.nr-col-warn     { color: var(--nr-warning) }

/* Palette aliases mapped back to global roles */
.nr-col-light   { color: var(--nr-text-soft-alpha) }
.nr-col-green,
.nr-col-emerald,
.nr-col-lime    { color: var(--nr-success) }
.nr-col-yellow,
.nr-col-yellow-dk,
.nr-col-amber,
.nr-col-amber-lt{ color: var(--nr-warning) }
.nr-col-sky     { color: var(--nr-info) }
.nr-col-rose,
.nr-col-rose-lt { color: var(--nr-danger) }
.nr-col-rose-dk { color: var(--nr-danger) }
.nr-col-dark,
.nr-col-zinc    { color: var(--nr-text-sec) }

/* ═══════════════════════════════════════════
   6. BACKGROUNDS
   ═══════════════════════════════════════════ */

.nr-bg-subtle       { background: var(--nr-input-bg) }
.nr-bg-hover        { background: var(--nr-surface-chip-strong) }
.nr-bg-active       { background: var(--nr-surface-control-active) }
.nr-bg-black        { background: #000 }
.nr-bg-white        { background: #fff }
.nr-bg-abyss        { background: var(--nr-surface-abyss) }
.nr-bg-darkest      { background: var(--nr-surface-darkest) }
.nr-bg-scrim        { background: var(--nr-scrim-strong) }
.nr-bg-scrim-sm     { background: var(--nr-scrim-soft) }
.nr-bg-scrim-md     { background: var(--nr-scrim-mid) }
.nr-bg-grad-b       { background-image: linear-gradient(to bottom, var(--from,transparent), var(--to,transparent)) }
.nr-bg-grad-r       { background-image: linear-gradient(to right, var(--from,transparent), var(--to,transparent)) }

/* Accent */
.nr-bg-accent-solid { background: var(--nr-accent) }
.nr-bg-accent-dim   { background: var(--nr-accent-dim) }
.nr-bg-accent-faint { background: var(--nr-surface-accent-strong) }
.nr-bg-danger-dim   { background: var(--nr-danger-soft) }
.nr-bg-danger-faint { background: var(--nr-danger-soft) }
.nr-bg-danger-grad  { background: linear-gradient(180deg, var(--nr-danger-soft), var(--nr-surface-mask)) }

/* Success / Emerald */
.nr-bg-success-solid,
.nr-bg-emerald,
.nr-bg-lime          { background: var(--nr-success) }
.nr-bg-success-faint,
.nr-bg-emerald-dim   { background: var(--nr-success-soft) }

/* Amber / Sky */
.nr-bg-amber-dim,
.nr-bg-amber-faint   { background: var(--nr-warning-soft) }
.nr-bg-sky-dim       { background: var(--nr-info-soft) }

/* ═══════════════════════════════════════════
   7. BORDERS
   ═══════════════════════════════════════════ */

/* Standalone border utility — adds box border */
.nr-brd-box  { border: 1px solid var(--nr-border) }
.nr-brd      { border-color: var(--nr-border) }
.nr-brd-mid  { border-color: var(--nr-border-emphasis) }
.nr-brd-strong { border-color: var(--nr-border-emphasis-strong) }
.nr-brd-faint  { border-color: var(--nr-border-faint) }

/* Directional */
.nr-border-t { border-top: 1px solid var(--nr-border) }
.nr-border-b { border-bottom: 1px solid var(--nr-border) }

/* Colored borders */
.nr-border-success,
.nr-border-emerald,
.nr-border-lime         { border-color: var(--nr-success-brd) }
.nr-border-success-dim  { border-color: var(--nr-success-soft) }
.nr-border-amber,
.nr-border-amber-md,
.nr-border-yellow,
.nr-border-yellow-md    { border-color: var(--nr-warning-brd) }
.nr-border-sky          { border-color: var(--nr-info-brd) }
.nr-border-teal         { border-color: var(--nr-info-brd) }
.nr-border-rose,
.nr-border-danger       { border-color: var(--nr-danger-brd) }
.nr-border-zinc         { border-color: var(--nr-border-solid) }
.nr-border-accent       { border-color: var(--nr-border-accent-soft) }
.nr-border-accent-md    { border-color: var(--nr-border-accent-ui) }
.nr-border-accent-dk    { border-color: var(--nr-border-accent-ui) }
.nr-border-accent-strong{ border-color: var(--nr-border-accent-strong) }

/* Radius */
.nr-radius-sm   { border-radius: 8px }
.nr-radius-md   { border-radius: 10px }
.nr-radius-lg   { border-radius: 14px }
.nr-radius-xl   { border-radius: 22px }
.nr-radius-2xl  { border-radius: 28px }
.nr-radius-full { border-radius: 9999px }

/* ═══════════════════════════════════════════
   8. STATES — hover / disabled / active
   ═══════════════════════════════════════════ */

/* Hover backgrounds */
.nr-hover-zinc:hover     { background: #e4e4e7 }

/* Disabled */
.nr-disabled-dim:disabled { opacity: 0.35 }
.nr-disabled-60:disabled  { opacity: 0.60 }
.nr-disabled-na:disabled  { cursor: not-allowed }

/* Active press effect */
.nr-active-press:active    { transform: scale(0.99) }
.nr-active-press-sm:active { transform: scale(0.98) }

/* ═══════════════════════════════════════════
   9. TOOLBAR BUTTON TONES
   ═══════════════════════════════════════════ */

/* Active / idle / hint / accent states are defined once above with shared root-button selectors. */

/* ═══════════════════════════════════════════
   10. MISC
   ═══════════════════════════════════════════ */

/* Opacity */
.nr-opacity-faint { opacity: 0.04 }
.nr-opacity-35    { opacity: 0.35 }
.nr-opacity-50    { opacity: 0.50 }
.nr-opacity-60    { opacity: 0.60 }

/* Z-index */
.nr-z-20       { z-index: 20 }
.nr-z-30       { z-index: 30 }
.nr-z-dropdown { z-index: 200 }
.nr-z-modal    { z-index: 9998 }
.nr-z-max      { z-index: var(--nr-z-max) }

/* Shadows */
.nr-shadow-inset { box-shadow: var(--nr-shadow-inset-ui) }
.nr-shadow-lg    { box-shadow: var(--nr-shadow-utility-lg) }
.nr-shadow-xl    { box-shadow: var(--nr-shadow-utility-xl) }
.nr-shadow-2xl   { box-shadow: var(--nr-shadow-utility-2xl) }
.nr-shadow-yellow{ box-shadow: 0 4px 16px var(--nr-warning-soft) }

/* Cursor */
.nr-cursor-pointer   { cursor: pointer }
.nr-cursor-default   { cursor: default }
.nr-cursor-na        { cursor: not-allowed }
.nr-cursor-crosshair { cursor: crosshair }
.nr-touch-none       { touch-action: none }
.nr-cursor-default   { cursor: default }

/* Pointer events */
.nr-pointer-none  { pointer-events: none }
.nr-pointer-auto  { pointer-events: auto }

/* Misc */
.nr-select-none   { user-select: none }
.nr-resize-none   { resize: none }
.nr-outline-none  { outline: none }
.nr-transition    { transition: background .15s, color .15s, border-color .15s, opacity .15s }
.nr-duration-500  { transition-duration: 500ms }
.nr-rotate-12     { transform: rotate(12deg) }

/* Overflow visible helper */
.nr-overflow-visible { overflow: visible }

/* Typography extras */
.nr-tabular-nums { font-variant-numeric: tabular-nums }
.nr-leading-snug { line-height: 1.375 }

/* Extra text sizes */
.nr-text-3xl { font-size: 28px }

/* ═══════════════════════════════════════════
   11. RESPONSIVE UTILITIES
   (breakpoint: 768px = md, 640px = sm, 1024px = lg)
   ═══════════════════════════════════════════ */

@media (min-width: 640px) {
  .nr-sm-grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) }
}

@media (min-width: 768px) {
  .nr-md-flex-row      { flex-direction: row }
  .nr-md-items-center  { align-items: center }
  .nr-md-items-start   { align-items: flex-start }
  .nr-md-items-end     { align-items: flex-end }
  .nr-md-justify-between { justify-content: space-between }
  .nr-md-justify-end   { justify-content: flex-end }
  .nr-md-grid-cols-2   { grid-template-columns: repeat(2, minmax(0, 1fr)) }
  .nr-md-grid-cols-3   { grid-template-columns: repeat(3, minmax(0, 1fr)) }
  .nr-md-h-90vh        { height: 90svh }
}

@media (min-width: 1024px) {
  .nr-lg-col-span-4  { grid-column: span 4 / span 4 }
  .nr-lg-col-span-6  { grid-column: span 6 / span 6 }
}

/* --- shared site navigation --- */
/* global-site-nav.js renders the home header markup everywhere. */
body.has-global-nav{
  padding-top:96px;
}

body.has-global-nav #hero-main-header{
  z-index:4000;
}

body.has-global-nav .docs-sidebar{
  top:96px;
  height:calc(100vh - 96px);
}

@media (max-width:850px){
  body.has-global-nav{
    padding-top:84px;
  }

  body.has-global-nav .docs-sidebar{
    top:84px;
    height:calc(100vh - 84px);
  }
}

/* --- site-footer.css (FLIGHT-inspired technical panel) --- */
#nr-footer-v4,
#nr-footer-v4 *{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

#nr-footer-v4{
  --ft-paper:#c8cac7;
  --ft-paper-deep:#b9bcb9;
  --ft-ink:#111214;
  --ft-ink-soft:rgba(17,18,20,.64);
  --ft-line:rgba(17,18,20,.24);
  --ft-gutter:var(--nr-shell-gutter,clamp(20px,3vw,56px));
  width:100%;
  margin-top:56px;
  padding:0 var(--ft-gutter);
  overflow:hidden;
  border-top:0;
  /* Keep the footer wrapper transparent. Otherwise it creates a dark strip
     below the light FLIGHT panel on pages with a lighter canvas. */
  background:transparent;
  color:var(--ft-ink);
  font-family:"Sora","Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

#nr-footer-v4 a{
  color:inherit;
  text-decoration:none;
}

#nr-footer-v4 .ft-flight-shell{
  position:relative;
  width:100%;
  max-width:var(--nr-shell-panel-max,calc(var(--nr-shell-max,1520px) - (2 * var(--ft-gutter))));
  margin:0 auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:
    radial-gradient(48% 80% at 84% 0%,rgba(78,92,255,.28),transparent 54%),
    linear-gradient(105deg,var(--ft-paper) 0%,#c9cbc8 58%,var(--ft-paper-deep) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.42);
}

#nr-footer-v4 .ft-flight-shell::after{
  content:"";
  position:absolute;
  z-index:0;
  top:-46%;
  right:-7%;
  width:42%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(50,63,255,.24),rgba(50,63,255,0) 68%);
  filter:blur(18px);
  pointer-events:none;
}

#nr-footer-v4 .ft-flight-topline,
#nr-footer-v4 .ft-flight-hero,
#nr-footer-v4 .ft-legal-links,
#nr-footer-v4 .ft-baseline{
  position:relative;
  z-index:1;
}

#nr-footer-v4 .ft-flight-topline{
  min-height:54px;
  display:grid;
  grid-template-columns:auto auto minmax(80px,1fr) auto;
  align-items:center;
  gap:12px;
  padding:0 clamp(20px,3vw,48px);
  border-bottom:1px solid var(--ft-line);
  font-family:"JetBrains Mono","IBM Plex Mono","Syne Mono",monospace;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

#nr-footer-v4 .ft-flight-domain{
  transition:opacity .16s ease;
}

#nr-footer-v4 .ft-flight-domain:hover{
  opacity:.58;
}

#nr-footer-v4 .ft-flight-star{
  font-size:17px;
  line-height:1;
}

#nr-footer-v4 .ft-flight-rule{
  height:1px;
  background:var(--ft-line);
}

#nr-footer-v4 .ft-flight-code{
  color:var(--ft-ink-soft);
  white-space:nowrap;
}

#nr-footer-v4 .ft-flight-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,260px);
  align-items:end;
  gap:clamp(24px,4vw,70px);
  padding:clamp(28px,4vw,62px) clamp(20px,3vw,48px) clamp(24px,3.5vw,48px);
}

#nr-footer-v4 .ft-flight-wordmark{
  min-width:0;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  font-size:clamp(54px,10.5vw,170px);
  font-weight:900;
  line-height:.78;
  letter-spacing:-.065em;
  text-transform:uppercase;
  white-space:nowrap;
  transform:scaleY(1.04);
  transform-origin:left bottom;
}

#nr-footer-v4 .ft-flight-side{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:12px;
  padding:13px 0 4px;
  border-top:1px solid var(--ft-line);
  color:var(--ft-ink-soft);
  font-family:"JetBrains Mono","IBM Plex Mono","Syne Mono",monospace;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.45;
  text-transform:uppercase;
}

#nr-footer-v4 .ft-flight-side span{
  color:var(--ft-ink);
}

#nr-footer-v4 .ft-flight-side strong{
  font:inherit;
}

#nr-footer-v4 .ft-legal-links{
  counter-reset:none;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  border-top:1px solid var(--ft-line);
  border-bottom:1px solid var(--ft-line);
}

#nr-footer-v4 .ft-legal-links a{
  min-width:0;
  min-height:70px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:14px 16px;
  border-right:1px solid var(--ft-line);
  color:rgba(17,18,20,.78);
  font-family:"JetBrains Mono","IBM Plex Mono","Syne Mono",monospace;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
  line-height:1.3;
  text-transform:uppercase;
  transition:background .16s ease,color .16s ease;
}

#nr-footer-v4 .ft-legal-links a:last-child{
  border-right:0;
}

#nr-footer-v4 .ft-legal-links a:hover{
  background:rgba(17,18,20,.09);
  color:var(--ft-ink);
}

#nr-footer-v4 .ft-legal-links a span{
  color:rgba(17,18,20,.42);
  font-size:8px;
}

#nr-footer-v4 .ft-baseline{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:8px clamp(20px,3vw,48px);
  color:var(--ft-ink-soft);
  font-family:"JetBrains Mono","IBM Plex Mono","Syne Mono",monospace;
  font-size:8px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media (max-width:980px){
  #nr-footer-v4 .ft-flight-hero{
    grid-template-columns:1fr;
    align-items:start;
  }

  #nr-footer-v4 .ft-flight-side{
    max-width:420px;
  }

  #nr-footer-v4 .ft-legal-links{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #nr-footer-v4 .ft-legal-links a:nth-child(3n){
    border-right:0;
  }

  #nr-footer-v4 .ft-legal-links a:nth-child(-n+3){
    border-bottom:1px solid var(--ft-line);
  }
}

@media (max-width:620px){
  #nr-footer-v4{
    --ft-gutter:12px;
    margin-top:36px;
    padding:0 var(--ft-gutter);
  }

  #nr-footer-v4 .ft-flight-shell{
    border-radius:12px;
  }

  #nr-footer-v4 .ft-flight-topline{
    min-height:46px;
    grid-template-columns:auto auto 1fr;
    padding:0 16px;
  }

  #nr-footer-v4 .ft-flight-rule{
    display:none;
  }

  #nr-footer-v4 .ft-flight-code{
    justify-self:end;
    font-size:7px;
  }

  #nr-footer-v4 .ft-flight-hero{
    gap:22px;
    padding:30px 16px 24px;
  }

  #nr-footer-v4 .ft-flight-wordmark{
    font-size:clamp(42px,17vw,74px);
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:.82;
  }

  #nr-footer-v4 .ft-flight-side{
    padding-top:10px;
  }

  #nr-footer-v4 .ft-legal-links{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #nr-footer-v4 .ft-legal-links a,
  #nr-footer-v4 .ft-legal-links a:nth-child(3n){
    min-height:58px;
    border-right:1px solid var(--ft-line);
    border-bottom:1px solid var(--ft-line);
    padding:12px;
  }

  #nr-footer-v4 .ft-legal-links a:nth-child(2n){
    border-right:0;
  }

  #nr-footer-v4 .ft-legal-links a:nth-last-child(-n+2){
    border-bottom:0;
  }

  #nr-footer-v4 .ft-baseline{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
    padding:12px 16px;
  }
}
/* --- site-consent.css --- */
.nr-site-cookie {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: var(--nr-z-cookie);
  display: none;
  pointer-events: none;
}

.nr-site-cookie.is-visible {
  display: block;
}

.nr-site-cookie__box {
  pointer-events: auto;
  max-width: 860px;
  margin: 0 auto;
  border: 1px solid var(--nr-border-strong-ui);
  border-radius: 24px;
  background:
    radial-gradient(120% 140% at 85% 0%, var(--nr-surface-accent-cta), transparent 44%),
    linear-gradient(180deg, var(--nr-surface-overlay-strong), var(--nr-surface-mask));
  box-shadow: var(--nr-shadow-dropdown);
  padding: 22px 24px 20px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.nr-site-cookie__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
}

.nr-site-cookie__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  font-family: 'Syne Mono', monospace;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--nr-text-soft-alpha);
}

.nr-site-cookie__dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--nr-accent);
  box-shadow: 0 0 12px var(--nr-border-accent-strong);
}

.nr-site-cookie__title {
  margin: 0 0 8px;
  color: var(--nr-text);
  font-family: 'Sora', 'Inter', system-ui, sans-serif;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 700;
  line-height: 1.08;
}

.nr-site-cookie__text {
  margin: 0;
  max-width: 64ch;
  color: var(--nr-text-soft-alpha);
  font-size: .96rem;
  line-height: 1.58;
}

.nr-site-cookie__text a {
  color: var(--nr-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.nr-site-cookie__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.nr-site-cookie__btn {
  min-width: 150px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 14px;
  border: 1px solid var(--nr-border-stronger);
  font-family: 'Sora', 'Inter', system-ui, sans-serif;
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .01em;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.nr-site-cookie__btn:hover {
  transform: translateY(-1px);
}

.nr-site-cookie__btn--ghost {
  background: var(--nr-surface-soft-strong);
  color: var(--nr-text-soft-alpha);
}

.nr-site-cookie__btn--ghost:hover {
  border-color: var(--nr-border-emphasis);
  background: var(--nr-surface-chip-strong);
}

.nr-site-cookie__btn--primary {
  border-color: var(--nr-border-accent-ui);
  background: var(--nr-gradient-accent-cta);
  color: var(--nr-text-contrast);
  box-shadow: var(--nr-shadow-accent-cta);
}

.nr-site-cookie__btn--primary:hover {
  border-color: var(--nr-border-accent-strong);
  box-shadow: var(--nr-shadow-accent-cta);
}

@media (max-width: 860px) {
  .nr-site-cookie {
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
  }

  .nr-site-cookie__box {
    padding: 18px 18px 16px;
    border-radius: 20px;
  }

  .nr-site-cookie__row {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .nr-site-cookie__actions {
    justify-content: stretch;
  }

  .nr-site-cookie__btn {
    width: 100%;
  }
}

/* --- pigments-guide.css --- */
.nr-pigments-guide{
  margin-bottom:0;
}

/* ── Typo hero (compact) ────────────────────────────────────────────── */

.nr-pig-hero{
  background:var(--nr-gradient-panel);
  border:1px solid var(--nr-border-accent-soft);
  border-radius:22px;
  padding:clamp(24px,2.8vw,38px);
  overflow:hidden;
  box-shadow:var(--nr-shadow-inset-ui);
  margin-bottom:12px;
}

.nr-pig-hero-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,420px);
  gap:clamp(34px,5vw,84px);
  align-items:center;
}

.nr-pig-hero-words{
  display:grid;
  gap:4px;
}

.nr-pig-hero-row{
  display:flex;
  align-items:flex-end;
  gap:14px;
  flex-wrap:nowrap;
}

.nr-pig-hero-word{
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(46px,5.6vw,84px);
  line-height:.88;
  letter-spacing:-.055em;
  text-transform:uppercase;
  color:var(--nr-text-soft-alpha);
  font-weight:900;
  white-space:nowrap;
}

.nr-pig-hero-word--sm{
  font-size:clamp(26px,3vw,44px);
  color:var(--nr-text-muted-alpha);
  letter-spacing:-.035em;
}

.nr-pig-hero-dash{
  flex:1 1 auto;
  height:8px;
  min-width:60px;
  max-width:200px;
  border-radius:999px;
  background:var(--nr-text-soft-alpha);
  transform:translateY(-10px);
}

.nr-pig-hero-aside{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-self:stretch;
  align-content:center;
  padding-left:clamp(22px,3vw,42px);
  border-left:1px solid var(--nr-border-soft-ui);
}

.nr-pig-hero-kicker{
  color:var(--nr-accent);
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.nr-pig-hero-copy{
  margin:0;
  max-width:38ch;
  color:var(--nr-text-soft-alpha);
  font-size:14px;
  line-height:1.55;
  font-weight:650;
}

.nr-pig-project-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.nr-pig-project-stat{
  display:grid;
  gap:4px;
  min-width:0;
  padding:10px 12px;
  border:1px solid var(--nr-border-soft-ui);
  border-radius:10px;
  background:var(--nr-surface-faint);
}

.nr-pig-project-stat small{
  color:var(--nr-text-muted-alpha);
  font-size:9px;
  font-weight:850;
  letter-spacing:.1em;
  line-height:1;
  text-transform:uppercase;
}

.nr-pig-project-stat strong{
  overflow:hidden;
  color:var(--nr-text-soft-alpha);
  font-size:11px;
  font-weight:850;
  letter-spacing:.035em;
  line-height:1.25;
  text-overflow:ellipsis;
  text-transform:uppercase;
  white-space:nowrap;
}

/* ── Filter bar ────────────────────────────────────────────────────── */

.nr-pig-filterbar{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:12px;
}

.nr-pig-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}

/* ── Filters (reuse existing styles) ─────────────────────────────── */

.nr-pigments-chip,
.nr-pigments-filter,
.nr-pigments-pill {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  text-transform: uppercase;
}

.nr-pigments-chip{
  min-height:22px;
  padding:0 8px;
  border:1px solid var(--nr-border-soft-ui);
  background:var(--nr-surface-soft);
  color:var(--nr-text-soft-alpha);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:800;
}

.nr-pigments-filters{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.nr-pigments-filter{
  min-height:28px;
  padding:0 10px;
  border:1px solid var(--nr-border-mid);
  background:var(--nr-surface-soft);
  color:var(--nr-text-muted-alpha);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:900;
  cursor:pointer;
  transition:border-color .15s, background .15s, color .15s;
}

.nr-pigments-filter.is-active{
  color:var(--nr-text);
  box-shadow:0 0 0 1px var(--nr-surface-faint) inset;
}
.nr-pigments-filter.is-all.is-active{border-color:var(--nr-info-brd);background:var(--nr-info-soft);color:var(--nr-info)}
.nr-pigments-filter.is-ok.is-active{border-color:var(--nr-success-brd);background:var(--nr-success-soft);color:var(--nr-success)}
.nr-pigments-filter.is-warn.is-active{border-color:var(--nr-warning-brd);background:var(--nr-warning-soft);color:var(--nr-warning)}
.nr-pigments-filter.is-risk.is-active{border-color:var(--nr-danger-brd);background:var(--nr-danger-soft);color:var(--nr-danger)}

/* ── Card grid ──────────────────────────────────────────────────── */

.nr-pig-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
}

.nr-pig-card{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0;
  border-radius:16px;
  border:1px solid var(--nr-border-soft-ui);
  background:var(--nr-surface-soft);
  overflow:hidden;
  transition:border-color .15s, background .15s;
}

.nr-pig-card:hover{background:var(--nr-surface-chip);border-color:var(--nr-border-strong-ui)}

/* colored top accent strip */
.nr-pig-card::before{
  content:"";
  display:block;
  height:2px;
  width:100%;
}
.nr-pig-card.is-ok::before{background:linear-gradient(90deg,var(--nr-success-brd),transparent)}
.nr-pig-card.is-warn::before{background:linear-gradient(90deg,var(--nr-warning-brd),transparent)}
.nr-pig-card.is-risk::before{background:linear-gradient(90deg,var(--nr-danger-brd),transparent)}

/* ── Dark SVG visual panel ─────────────────────────────────────── */

.nr-pig-visual{
  background:var(--nr-surface-faint);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  height:68px;
  padding:10px 12px;
  border-bottom:1px solid var(--nr-border-faint);
  flex-shrink:0;
}

.nr-pig-visual svg{
  width:100%;
  height:48px;
  display:block;
}

.nr-pig-visual svg g{
  stroke:var(--nr-text-subtle);
}

/* ── Card inner ─────────────────────────────────────────────────── */

.nr-pig-card-inner{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px 14px 14px;
  flex:1;
}

.nr-pig-card-top{
  display:flex;
  align-items:center;
  gap:8px;
}

/* ── Score (number + bar) ──────────────────────────────────────── */

.nr-pig-card-compat-wrap{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  margin-left:auto;
  flex-shrink:0;
}

.nr-pig-card-compat-num{
  font-size:13px;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--nr-text-soft-alpha);
  line-height:1;
}

/* ── Compat bar ────────────────────────────────────────────────── */

.nr-pig-card-compat-track{
  width:36px;
  height:3px;
  border-radius:999px;
  background:var(--nr-surface-chip-strong);
  overflow:hidden;
}

.nr-pig-card-compat-fill{
  height:100%;
  border-radius:999px;
  transition:width .3s ease;
}

/* ── Layer warning ─────────────────────────────────────────────── */

.nr-pig-card-layer-warn{
  display:flex;
  align-items:flex-start;
  gap:6px;
  padding:8px 10px;
  border-radius:10px;
  background:var(--nr-warning-soft);
  border:1px solid var(--nr-warning-brd);
  font-size:11px;
  font-weight:700;
  line-height:1.4;
  color:var(--nr-warning);
}

.nr-pig-card-layer-icon{
  flex-shrink:0;
  font-size:12px;
}

.nr-pig-card-name{
  font-size:14px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--nr-text);
}

/* ── Pill badges (reuse) ────────────────────────────────────────── */

.nr-pigments-pill{
  height:20px;
  padding:0 8px;
  font-size:9px;
  letter-spacing:.1em;
  font-weight:900;
  white-space:nowrap;
  border:1px solid var(--nr-border-strong-ui);
  background:var(--nr-surface-chip);
  color:var(--nr-text-soft-alpha);
  flex-shrink:0;
}

/* ── Card use ───────────────────────────────────────────────────── */

.nr-pig-card-use{
  margin:0;
  font-size:11px;
  line-height:1.5;
  color:var(--nr-text-subtle);
  font-weight:700;
}

/* ── Card hint (project-specific) ───────────────────────────────── */

.nr-pig-card-hint{
  padding:6px 10px;
  border-radius:0 6px 6px 0;
  font-size:11px;
  line-height:1.45;
  color:var(--nr-text-muted-alpha);
  font-weight:700;
  border-left:2px solid var(--nr-border-emphasis);
  background:var(--nr-surface-faint);
}

.nr-pig-card-hint b{
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
  margin-right:4px;
  color:var(--nr-text-subtle);
}

/* ── Card flags row ─────────────────────────────────────────────── */

.nr-pig-card-flags{
  display:flex;
  flex-wrap:wrap;
  gap:4px 12px;
  padding-top:2px;
}

.nr-pigments-flag{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  color:var(--nr-text-muted-alpha);
}

.nr-pigments-flag .dot{
  width:5px;
  height:5px;
  border-radius:50%;
  flex-shrink:0;
  background:var(--nr-border-emphasis);
}

.nr-pigments-flag.is-ok .dot{background:var(--nr-border-emphasis)}
.nr-pigments-flag.is-warn,
.nr-pigments-flag.is-risk{color:var(--nr-danger)}
.nr-pigments-flag.is-warn .dot,
.nr-pigments-flag.is-risk .dot{background:var(--nr-danger)}

/* ── Empty state ────────────────────────────────────────────────── */

.nr-pigments-empty{
  margin-top:12px;
  padding:14px 16px;
  border:1px solid var(--nr-border-soft-ui);
  border-radius:14px;
  color:var(--nr-text-subtle-strong);
  font-size:12px;
  font-weight:700;
  background:var(--nr-surface-faint);
}

/* ── Responsive ─────────────────────────────────────────────────── */

@media (max-width:1100px){
  .nr-pig-grid{grid-template-columns:repeat(2, 1fr)}
  .nr-pig-hero-main{grid-template-columns:1fr;gap:24px}
  .nr-pig-hero-aside{
    padding:22px 0 0;
    border-top:1px solid var(--nr-border-soft-ui);
    border-left:0;
  }
  .nr-pig-hero-copy{max-width:62ch}
  .nr-pig-project-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media (max-width:760px){
  .nr-pig-hero{
    padding:16px 18px 18px;
    border-radius:18px;
  }
  .nr-pig-hero-main{grid-template-columns:1fr;gap:14px}
  .nr-pig-hero-word{
    font-size:clamp(38px,12vw,58px);
  }
  .nr-pig-hero-word--sm{
    font-size:clamp(24px,7vw,34px);
  }
  .nr-pig-hero-dash{
    height:8px;
    min-width:50px;
    transform:translateY(-10px);
  }
  .nr-pig-hero-aside{
    gap:12px;
    padding-top:16px;
  }
  .nr-pig-hero-copy{
    font-size:13px;
  }
  .nr-pig-project-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  /* Horizontal scroll na mobile — jak rekomendacje żywic i wykończeń.
     Karty już posortowane od najlepszego dopasowania (sort by hint.compat desc). */
  .nr-pigments-guide{
    position:relative;
  }
  .nr-pig-grid{
    display:flex;
    grid-template-columns:none;
    gap:10px;
    overflow-x:auto;
    overflow-y:visible;
    padding:2px 54px 8px 2px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .nr-pig-grid::-webkit-scrollbar{
    display:none;
  }
  .nr-pig-card{
    flex:0 0 78%;
    min-width:78%;
    max-width:78%;
    scroll-snap-align:start;
  }
  /* Fade gradient po prawej — wizualna podpowiedź "scroll" */
  .nr-pigments-guide::after{
    content:"";
    position:absolute;
    right:0;
    bottom:0;
    width:48px;
    height:calc(100% - 200px);
    background:linear-gradient(to right, rgba(5,8,14,0), rgba(5,8,14,.92));
    pointer-events:none;
    z-index:3;
    border-radius:0 16px 16px 0;
  }
  .nr-pig-visual{
    height:56px;
  }
}
/* === NR MERGED EXTERNAL CSS: END === */

/* === NR MIGRATED PAGE CSS: START === */

/* Shared recovery layer for migrated pages after CSS merge */

body.has-global-nav .skip-to-main {
  position: absolute;
  left: 18px;
  top: 16px;
  z-index: 4201;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--nr-border-strong-ui);
  background: var(--nr-surface-skip);
  color: var(--nr-text-soft-alpha);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  transform: translateY(-160%);
  opacity: 0;
  transition: transform .18s ease, opacity .18s ease;
}

body.has-global-nav .skip-to-main:focus-visible {
  transform: translateY(0);
  opacity: 1;
  outline: 2px solid var(--nr-border-accent-strong);
  outline-offset: 4px;
}

/* --- resin safety page --- */
body.nr-resin-safety-page{
  --rs-bg:#070708;
  --rs-ink:#ede7dc;
  --rs-muted:rgba(237,231,220,.62);
  --rs-soft:rgba(237,231,220,.38);
  --rs-line:rgba(237,231,220,.13);
  --rs-accent:#e7644d;
  --rs-paper:#d8d1c8;
  background:
    radial-gradient(circle at 70% 5%, rgba(231,100,77,.12), transparent 28%),
    linear-gradient(180deg,#0e0f10 0%, #070708 46%, #090908 100%);
  color:var(--rs-ink);
}

body.nr-resin-safety-page::before{
  opacity:.07;
}

.rs-page{
  width:min(1680px, calc(100% - 48px));
  margin:0 auto;
  padding:112px 0 80px;
}

.rs-hero,
.rs-band{
  border-bottom:1px solid var(--rs-line);
}

.rs-hero{
  min-height:calc(100vh - 112px);
  display:grid;
  align-items:end;
  padding:70px 0 48px;
}

.rs-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,430px);
  gap:clamp(28px,5vw,76px);
  align-items:end;
}

.rs-back{
  display:inline-flex;
  width:max-content;
  margin-bottom:38px;
  color:var(--rs-soft);
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}

.rs-back:hover{
  color:var(--rs-ink);
}

.rs-kicker,
.rs-section-label,
.rs-terminal,
.rs-rule__num{
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-transform:uppercase;
}

.rs-kicker,
.rs-section-label{
  color:var(--rs-accent);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.18em;
}

.rs-title{
  margin:12px 0 24px;
  color:var(--rs-paper);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(4rem,11vw,11.5rem);
  font-weight:900;
  line-height:.78;
  letter-spacing:0;
  text-transform:uppercase;
}

.rs-title span{
  display:block;
}

.rs-title span:nth-child(2){
  color:var(--rs-accent);
}

.rs-lead{
  max-width:760px;
  margin:0;
  color:var(--rs-muted);
  font-size:clamp(1.08rem,1.65vw,1.42rem);
  font-weight:650;
  line-height:1.55;
}

.rs-hero__panel{
  display:grid;
  gap:0;
  border:1px solid var(--rs-line);
  border-radius:0;
  background:rgba(255,255,255,.018);
}

.rs-signal{
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:18px;
  padding:22px 24px;
  border-bottom:1px solid var(--rs-line);
}

.rs-signal span{
  color:var(--rs-accent);
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:.82rem;
  font-weight:900;
}

.rs-signal strong{
  color:var(--rs-ink);
  font-size:clamp(1.18rem,1.6vw,1.52rem);
  font-weight:850;
  line-height:1.06;
}

.rs-terminal{
  display:grid;
  gap:8px;
  padding:22px 24px 24px;
  color:rgba(237,231,220,.54);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.08em;
}

.rs-terminal span::before{
  content:"> ";
  color:var(--rs-accent);
}

.rs-band{
  padding:clamp(58px,8vw,128px) 0;
}

.rs-band--light{
  width:calc(100% + 48px);
  margin-left:-24px;
  padding-inline:24px;
  background:var(--rs-paper);
  color:#060607;
}

.rs-band--light .rs-section-label,
.rs-band--light .rs-fat-title{
  color:#060607;
}

.rs-band--light p{
  color:rgba(6,6,7,.7);
}

.rs-split,
.rs-source-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:clamp(28px,5vw,78px);
  align-items:start;
}

.rs-split--reverse{
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
}

.rs-fat-title,
.rs-line-title{
  margin:18px 0 0;
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}

.rs-fat-title{
  max-width:980px;
  color:var(--rs-ink);
  font-size:clamp(2.8rem,6vw,7rem);
  line-height:.86;
}

.rs-line-title{
  max-width:1160px;
  color:var(--rs-paper);
  font-size:clamp(2.3rem,4.8vw,5.4rem);
  line-height:.92;
}

.rs-copy-stack{
  display:grid;
  gap:18px;
}

.rs-copy-stack p,
.rs-source-copy{
  margin:0;
  color:var(--rs-muted);
  font-size:clamp(1rem,1.35vw,1.18rem);
  font-weight:650;
  line-height:1.66;
}

.rs-copy-stack h2{
  margin:0;
  color:var(--rs-paper);
  font-size:clamp(2rem,4vw,4.4rem);
  line-height:.96;
  text-transform:uppercase;
}

.rs-rule-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:34px;
  border:1px solid var(--rs-line);
  background:var(--rs-line);
}

.rs-rule{
  min-height:280px;
  display:grid;
  align-content:space-between;
  gap:20px;
  padding:26px;
  background:rgba(9,9,9,.96);
}

.rs-rule__num{
  color:var(--rs-accent);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.14em;
}

.rs-rule h3{
  max-width:340px;
  margin:0;
  color:var(--rs-paper);
  font-size:clamp(1.8rem,2.8vw,3.4rem);
  font-weight:900;
  line-height:.92;
  letter-spacing:0;
  text-transform:uppercase;
}

.rs-rule p{
  margin:0;
  color:var(--rs-muted);
  font-size:1rem;
  font-weight:650;
  line-height:1.5;
}

.rs-checkline{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr);
  gap:clamp(28px,5vw,74px);
  align-items:start;
}

.rs-checkline .rs-section-label,
.rs-checkline .rs-fat-title{
  grid-column:1;
}

.rs-checklist{
  grid-column:2;
  grid-row:1 / span 2;
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:rs-check;
  border-top:1px solid var(--rs-line);
}

.rs-checklist li{
  counter-increment:rs-check;
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--rs-line);
}

.rs-checklist li::before{
  content:counter(rs-check, decimal-leading-zero);
  color:var(--rs-accent);
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:.9rem;
  font-weight:900;
}

.rs-checklist span{
  color:var(--rs-ink);
  font-size:clamp(1.2rem,2.1vw,2.2rem);
  font-weight:850;
  line-height:1.06;
}

.rs-band--danger{
  position:relative;
  overflow:hidden;
}

.rs-mega{
  margin:0 0 clamp(36px,5vw,74px);
  color:rgba(231,100,77,.12);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(5.4rem,17vw,17rem);
  font-weight:900;
  line-height:.78;
  letter-spacing:0;
  text-transform:uppercase;
  white-space:nowrap;
}

.rs-warning-stack{
  display:grid;
  border-top:1px solid var(--rs-line);
}

.rs-warning-stack div{
  padding:20px 0;
  border-bottom:1px solid var(--rs-line);
  color:var(--rs-paper);
  font-size:clamp(1.8rem,4vw,4.6rem);
  font-weight:900;
  line-height:.9;
  text-transform:uppercase;
}

.rs-source-links{
  display:grid;
  align-content:start;
  border-top:1px solid var(--rs-line);
}

.rs-source-links a{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--rs-line);
  color:var(--rs-ink);
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}

.rs-source-links a::after{
  content:"↗";
  color:var(--rs-accent);
}

.rs-source-links a:hover{
  color:var(--rs-accent);
}

body.nr-resin-safety-page [data-animate]{
  opacity:0;
  transform:translateY(26px);
  filter:blur(8px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1), filter .7s ease;
  transition-delay:var(--rs-delay,0ms);
}

body.nr-resin-safety-page [data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

.rs-title [data-animate]{
  transform:translateY(.22em);
}

.rs-title [data-animate].is-visible{
  animation:rsTitleLock .9s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes rsTitleLock{
  0%{opacity:0;letter-spacing:.08em;transform:translateY(.24em) scaleY(.94)}
  70%{opacity:1;letter-spacing:0;transform:translateY(-.02em) scaleY(1.01)}
  100%{opacity:1;letter-spacing:0;transform:translateY(0) scaleY(1)}
}

@media (max-width:1100px){
  .rs-hero__grid,
  .rs-split,
  .rs-split--reverse,
  .rs-source-grid,
  .rs-checkline{
    grid-template-columns:1fr;
  }

  .rs-checkline .rs-section-label,
  .rs-checkline .rs-fat-title,
  .rs-checklist{
    grid-column:auto;
    grid-row:auto;
  }

  .rs-rule-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px){
  .rs-page{
    width:min(100% - 28px, 1680px);
    padding-top:96px;
  }

  .rs-hero{
    min-height:auto;
    padding:48px 0 36px;
  }

  .rs-title{
    font-size:clamp(3.4rem,18vw,5.2rem);
  }

  .rs-band{
    padding:54px 0;
  }

  .rs-band--light{
    width:calc(100% + 28px);
    margin-left:-14px;
    padding-inline:14px;
  }

  .rs-rule-grid{
    grid-template-columns:1fr;
  }

  .rs-rule{
    min-height:220px;
    padding:22px;
  }

  .rs-checklist li{
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
  }

  .rs-warning-stack div{
    font-size:clamp(1.6rem,10vw,3.1rem);
  }

  .rs-mega{
    white-space:normal;
  }
}

@media (prefers-reduced-motion:reduce){
  body.nr-resin-safety-page [data-animate]{
    opacity:1;
    transform:none;
    filter:none;
    transition:none;
    animation:none;
  }
}

body.nr-resin-safety-page{
  --rs2-bg:#0c0d0e;
  --rs2-panel:#151619;
  --rs2-panel-soft:rgba(255,255,255,.035);
  --rs2-ink:#f1ece3;
  --rs2-muted:rgba(241,236,227,.66);
  --rs2-faint:rgba(241,236,227,.42);
  --rs2-line:rgba(241,236,227,.11);
  --rs2-accent:#d57969;
  --rs2-green:#7ec4b8;
  background:
    linear-gradient(180deg, rgba(213,121,105,.08), transparent 320px),
    radial-gradient(circle at 90% 8%, rgba(126,196,184,.12), transparent 28%),
    var(--rs2-bg);
  color:var(--rs2-ink);
}

.rsv2-page{
  width:min(1360px, calc(100% - 48px));
  margin:0 auto;
  padding:124px 0 82px;
}

.rsv2-hero{
  min-height:min(760px, calc(100vh - 86px));
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.62fr);
  gap:clamp(28px,5vw,64px);
  align-items:end;
  padding:clamp(36px,6vw,84px) 0 44px;
  border-bottom:1px solid var(--rs2-line);
}

.rsv2-back{
  display:inline-flex;
  margin-bottom:44px;
  color:var(--rs2-faint);
  font:800 .75rem/1 "Syne Mono", ui-monospace, monospace;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}

.rsv2-back:hover{
  color:var(--rs2-ink);
}

.rsv2-kicker{
  margin:0 0 14px;
  color:var(--rs2-accent);
  font:900 .74rem/1.2 "Syne Mono", ui-monospace, monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.rsv2-title{
  max-width:980px;
  margin:0;
  color:var(--rs2-ink);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(3.8rem,8.8vw,8.9rem);
  font-weight:900;
  line-height:.86;
  letter-spacing:0;
  text-transform:uppercase;
}

.rsv2-title span{
  display:block;
}

.rsv2-title span:last-child{
  color:var(--rs2-accent);
}

.rsv2-lead{
  max-width:760px;
  margin:28px 0 0;
  color:var(--rs2-muted);
  font-size:clamp(1.06rem,1.5vw,1.24rem);
  font-weight:620;
  line-height:1.62;
}

.rsv2-panel{
  border:1px solid var(--rs2-line);
  border-radius:10px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), transparent 36%),
    rgba(255,255,255,.025);
  overflow:hidden;
}

.rsv2-panel__top{
  display:grid;
  gap:10px;
  padding:22px 24px;
  border-bottom:1px solid var(--rs2-line);
}

.rsv2-panel__top span,
.rsv2-status dt{
  color:var(--rs2-faint);
  font:900 .68rem/1 "Syne Mono", ui-monospace, monospace;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.rsv2-panel__top strong{
  color:var(--rs2-ink);
  font-size:clamp(1.6rem,2.6vw,2.5rem);
  line-height:.96;
  text-transform:uppercase;
}

.rsv2-scan{
  height:220px;
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  padding:24px;
  border-bottom:1px solid var(--rs2-line);
  background:
    radial-gradient(circle at 64% 50%, rgba(213,121,105,.24), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.14));
}

.rsv2-scan::before{
  content:"";
  position:absolute;
  inset:36px 24px;
  border:1px solid rgba(241,236,227,.16);
  border-radius:999px;
}

.rsv2-scan::after{
  content:"BHP";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  color:rgba(241,236,227,.88);
  font:900 clamp(3rem,7vw,5.4rem)/1 "Sora","Inter",system-ui,sans-serif;
  letter-spacing:0;
}

.rsv2-scan span{
  min-height:100%;
  background:linear-gradient(180deg, transparent, rgba(241,236,227,.08), transparent);
}

.rsv2-status{
  margin:0;
  display:grid;
  grid-template-columns:repeat(2,1fr);
}

.rsv2-status div{
  padding:18px 20px;
  border-right:1px solid var(--rs2-line);
  border-bottom:1px solid var(--rs2-line);
}

.rsv2-status div:nth-child(2n){
  border-right:0;
}

.rsv2-status div:nth-last-child(-n+2){
  border-bottom:0;
}

.rsv2-status dd{
  margin:7px 0 0;
  color:var(--rs2-ink);
  font-weight:850;
}

.rsv2-statement,
.rsv2-section,
.rsv2-flow,
.rsv2-home,
.rsv2-sources{
  padding:clamp(58px,7vw,96px) 0;
  border-bottom:1px solid var(--rs2-line);
}

.rsv2-statement{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.46fr);
  gap:clamp(28px,5vw,64px);
  align-items:end;
  background:
    linear-gradient(90deg, transparent, rgba(213,121,105,.07)),
    transparent;
}

.rsv2-statement h2,
.rsv2-section__head h2,
.rsv2-flow__left h2,
.rsv2-home h2,
.rsv2-sources h2{
  margin:0;
  color:var(--rs2-ink);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}

.rsv2-statement h2{
  font-size:clamp(2.6rem,5.6vw,6.6rem);
  line-height:.9;
}

.rsv2-statement > p:last-child,
.rsv2-sources p{
  margin:0;
  color:var(--rs2-muted);
  font-size:clamp(1rem,1.35vw,1.16rem);
  font-weight:620;
  line-height:1.66;
}

.rsv2-section__head{
  display:grid;
  grid-template-columns:minmax(0,.55fr) minmax(0,1fr);
  gap:clamp(24px,5vw,60px);
  align-items:end;
  margin-bottom:28px;
}

.rsv2-section__head h2{
  font-size:clamp(2.2rem,4.5vw,4.8rem);
  line-height:.95;
}

.rsv2-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.rsv2-card{
  min-height:245px;
  display:grid;
  align-content:space-between;
  gap:18px;
  padding:22px;
  border:1px solid var(--rs2-line);
  border-radius:8px;
  background:var(--rs2-panel-soft);
}

.rsv2-card span{
  color:var(--rs2-accent);
  font:900 .74rem/1 "Syne Mono", ui-monospace, monospace;
  letter-spacing:.14em;
}

.rsv2-card h3{
  margin:0;
  color:var(--rs2-ink);
  font-size:clamp(1.45rem,2.2vw,2.25rem);
  font-weight:900;
  line-height:.98;
  text-transform:uppercase;
}

.rsv2-card p{
  margin:0;
  color:var(--rs2-muted);
  font-size:.98rem;
  font-weight:610;
  line-height:1.52;
}

.rsv2-flow,
.rsv2-home,
.rsv2-sources{
  display:grid;
  grid-template-columns:minmax(0,.48fr) minmax(320px,1fr);
  gap:clamp(28px,5vw,64px);
}

.rsv2-flow__left h2,
.rsv2-home h2,
.rsv2-sources h2{
  font-size:clamp(2.3rem,4.4vw,5.2rem);
  line-height:.9;
}

.rsv2-checks{
  list-style:none;
  counter-reset:rsv2-check;
  margin:0;
  padding:0;
  border-top:1px solid var(--rs2-line);
}

.rsv2-checks li{
  counter-increment:rsv2-check;
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:18px;
  padding:22px 0;
  border-bottom:1px solid var(--rs2-line);
}

.rsv2-checks li::before{
  content:counter(rsv2-check, decimal-leading-zero);
  color:var(--rs2-accent);
  font:900 .78rem/1 "Syne Mono", ui-monospace, monospace;
  letter-spacing:.12em;
}

.rsv2-checks span,
.rsv2-home__rows p{
  margin:0;
  color:var(--rs2-ink);
  font-size:clamp(1.3rem,2.6vw,2.8rem);
  font-weight:850;
  line-height:1.02;
  letter-spacing:0;
}

.rsv2-home{
  align-items:start;
}

.rsv2-home__rows{
  display:grid;
  border-top:1px solid var(--rs2-line);
}

.rsv2-home__rows p{
  padding:18px 0;
  border-bottom:1px solid var(--rs2-line);
}

.rsv2-source-links{
  display:grid;
  align-content:start;
  border-top:1px solid var(--rs2-line);
}

.rsv2-source-links a{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  border-bottom:1px solid var(--rs2-line);
  color:var(--rs2-ink);
  font:800 .84rem/1.35 "Syne Mono", ui-monospace, monospace;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
}

.rsv2-source-links a::after{
  content:"↗";
  color:var(--rs2-accent);
}

.rsv2-source-links a:hover{
  color:var(--rs2-accent);
}

body.nr-resin-safety-page .rsv2-page [data-animate]{
  opacity:0;
  transform:translateY(18px);
  filter:blur(4px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1), filter .6s ease;
  transition-delay:var(--rs-delay,0ms);
}

body.nr-resin-safety-page .rsv2-page [data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media (max-width:1050px){
  .rsv2-hero,
  .rsv2-statement,
  .rsv2-section__head,
  .rsv2-flow,
  .rsv2-home,
  .rsv2-sources{
    grid-template-columns:1fr;
  }

  .rsv2-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .rsv2-page{
    width:min(100% - 28px, 1360px);
    padding-top:96px;
  }

  .rsv2-hero{
    min-height:auto;
    padding-top:36px;
  }

  .rsv2-back{
    margin-bottom:30px;
  }

  .rsv2-title{
    font-size:clamp(3.05rem,16vw,4.6rem);
  }

  .rsv2-lead{
    margin-top:20px;
  }

  .rsv2-cards{
    grid-template-columns:1fr;
  }

  .rsv2-card{
    min-height:190px;
  }

  .rsv2-status{
    grid-template-columns:1fr;
  }

  .rsv2-status div,
  .rsv2-status div:nth-child(2n),
  .rsv2-status div:nth-last-child(-n+2){
    border-right:0;
    border-bottom:1px solid var(--rs2-line);
  }

  .rsv2-checks li{
    grid-template-columns:46px minmax(0,1fr);
  }

  .rsv2-checks span,
  .rsv2-home__rows p{
    font-size:clamp(1.18rem,7vw,2rem);
  }
}

body.nr-resin-safety-page{
  --mp-bg:#070707;
  --mp-panel:#0d0d0d;
  --mp-cream:#cfc5b6;
  --mp-cream-hi:#e5ddd0;
  --mp-muted:rgba(207,197,182,.5);
  --mp-dim:rgba(207,197,182,.18);
  --mp-line:rgba(207,197,182,.105);
  --mp-red:#f05f49;
  background:#070707;
  color:var(--mp-cream);
}

body.nr-resin-safety-page::before{
  opacity:0;
}

.rsmp-page{
  width:100%;
  overflow:hidden;
  background:#070707;
}

.rsmp-page section{
  border-radius:0;
}

.rsmp-hero{
  position:relative;
  min-height:760px;
  height:calc(100vh - 12px);
  display:grid;
  place-items:start center;
  padding:88px clamp(22px,5vw,72px) 70px;
  isolation:isolate;
}

.rsmp-hero::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:28%;
  background:linear-gradient(180deg, transparent, #070707 70%);
  z-index:-1;
}

.rsmp-silhouette{
  position:absolute;
  right:13%;
  bottom:8%;
  width:min(460px,42vw);
  aspect-ratio:1/1.16;
  border-radius:46% 54% 38% 62%;
  background:
    radial-gradient(circle at 56% 24%, rgba(255,255,255,.2), transparent 7%),
    radial-gradient(circle at 55% 34%, rgba(255,255,255,.08), transparent 17%),
    linear-gradient(140deg, rgba(255,255,255,.09), rgba(0,0,0,.08) 36%, rgba(0,0,0,.92) 70%),
    #111;
  opacity:.72;
  filter:contrast(1.1);
  z-index:-1;
}

.rsmp-silhouette::before{
  content:"";
  position:absolute;
  left:-18%;
  bottom:-18%;
  width:68%;
  height:60%;
  border-radius:48% 52% 0 0;
  background:linear-gradient(150deg, rgba(255,255,255,.07), rgba(0,0,0,.92));
}

.rsmp-rail,
.rsmp-mini-nav,
.rsmp-side-note,
.rsmp-name,
.rsmp-label,
.rsmp-history-row span,
.rsmp-history-row small,
.rsmp-links{
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  text-transform:uppercase;
}

.rsmp-rail{
  position:absolute;
  left:clamp(18px,3vw,54px);
  top:42%;
  display:grid;
  gap:18px;
  color:var(--mp-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
}

.rsmp-mini-nav{
  position:absolute;
  right:clamp(20px,3vw,58px);
  top:42px;
  display:grid;
  gap:8px;
  text-align:right;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}

.rsmp-mini-nav a{
  color:var(--mp-muted);
  text-decoration:none;
}

.rsmp-mini-nav a:hover{
  color:var(--mp-cream-hi);
}

.rsmp-name{
  margin:0 0 18px;
  color:var(--mp-muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.58em;
}

.rsmp-hero-title{
  margin:0;
  text-align:center;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(4.4rem,11vw,10.6rem);
  font-weight:900;
  line-height:.77;
  letter-spacing:0;
  text-transform:uppercase;
}

.rsmp-hero-title span{
  display:block;
}

.rsmp-hero-title span:nth-child(2){
  color:var(--mp-red);
}

.rsmp-side-note{
  position:absolute;
  right:clamp(18px,3vw,54px);
  top:49%;
  color:var(--mp-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  writing-mode:vertical-rl;
}

.rsmp-intro,
.rsmp-stack-section,
.rsmp-image-copy,
.rsmp-history,
.rsmp-words,
.rsmp-quotes,
.rsmp-motto{
  width:min(1120px, calc(100% - 44px));
  margin:0 auto;
  padding:clamp(92px,12vw,180px) 0;
}

.rsmp-label{
  margin:0 0 26px;
  color:var(--mp-muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.48em;
}

.rsmp-intro h2,
.rsmp-image-copy h2,
.rsmp-quotes h2{
  margin:0;
  max-width:980px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(2.2rem,5.2vw,5.7rem);
  font-weight:850;
  line-height:.98;
  letter-spacing:0;
}

.rsmp-intro em,
.rsmp-image-copy em,
.rsmp-quotes em{
  color:var(--mp-red);
  font-style:normal;
}

.rsmp-stack-section{
  position:relative;
  min-height:720px;
  display:grid;
  align-content:center;
}

.rsmp-stack-title{
  margin:0;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(4rem,9vw,9.2rem);
  font-weight:900;
  line-height:.83;
  letter-spacing:0;
  text-transform:uppercase;
}

.rsmp-stack-title span{
  display:block;
}

.rsmp-stack-title span:nth-child(2){
  color:var(--mp-red);
}

.rsmp-object{
  position:absolute;
  width:210px;
  height:210px;
  border-radius:50%;
  background:
    radial-gradient(circle at 42% 35%, rgba(255,255,255,.2), transparent 13%),
    radial-gradient(circle at 62% 64%, rgba(240,95,73,.2), transparent 20%),
    #101010;
  filter:blur(.1px);
  opacity:.72;
}

.rsmp-object--left{
  left:max(-120px, -7vw);
  top:24%;
}

.rsmp-object--right{
  right:max(-110px, -6vw);
  bottom:24%;
}

.rsmp-image-copy{
  width:100%;
  min-height:760px;
  display:grid;
  grid-template-columns:1fr minmax(0,1120px) 1fr;
  align-items:center;
  padding:0;
  background:transparent;
}

.rsmp-dark-portrait{
  display:none;
}

.rsmp-image-copy__text{
  grid-column:2;
  grid-row:1;
  width:min(980px, calc(100% - 44px));
  margin:0 auto;
  z-index:1;
}

.rsmp-history{
  min-height:680px;
}

.rsmp-history h2,
.rsmp-words h2,
.rsmp-motto h2{
  margin:0 0 34px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(4rem,9vw,9rem);
  font-weight:900;
  line-height:.82;
  letter-spacing:0;
  text-transform:uppercase;
}

.rsmp-history-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) minmax(120px,.3fr);
  gap:24px;
  align-items:start;
  padding:28px 0;
  border-top:1px solid var(--mp-line);
}

.rsmp-history-row:last-child{
  border-bottom:1px solid var(--mp-line);
}

.rsmp-history-row span{
  color:var(--mp-cream);
  font-size:16px;
  font-weight:900;
}

.rsmp-history-row strong{
  color:var(--mp-cream);
  font-size:clamp(1.4rem,2.4vw,2.6rem);
  line-height:1;
}

.rsmp-history-row small{
  color:var(--mp-muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
}

.rsmp-words{
  min-height:820px;
  display:grid;
  align-content:center;
}

.rsmp-word-list{
  display:grid;
  max-width:960px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(2.9rem,7.2vw,7rem);
  font-weight:900;
  line-height:.86;
  text-transform:uppercase;
}

.rsmp-word-list span:nth-child(4),
.rsmp-word-list span:nth-child(7){
  color:var(--mp-red);
}

.rsmp-peach{
  min-height:430px;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#e7b48f;
  color:#fff;
}

.rsmp-peach h2{
  margin:0;
  z-index:1;
  color:#fff;
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(5rem,16vw,13rem);
  font-weight:900;
  line-height:1;
}

.rsmp-peach p{
  position:absolute;
  bottom:34px;
  margin:0;
  color:rgba(255,255,255,.78);
  font-weight:800;
}

.rsmp-peach-figure{
  position:absolute;
  left:50%;
  bottom:0;
  width:150px;
  height:320px;
  transform:translateX(-50%);
  border-radius:80px 80px 0 0;
  background:
    radial-gradient(circle at 52% 8%, #d44845 0 12px, transparent 13px),
    linear-gradient(90deg, transparent 0 35%, #19977f 35% 68%, transparent 68%),
    linear-gradient(180deg, #e87048 0 32%, #15947a 32% 100%);
  opacity:.88;
}

.rsmp-quotes{
  min-height:760px;
  display:grid;
  align-content:center;
  gap:76px;
}

.rsmp-faded{
  max-width:560px;
  color:rgba(207,197,182,.13);
  font-size:clamp(2rem,5vw,5rem);
  font-weight:900;
  line-height:.98;
}

.rsmp-motto{
  min-height:640px;
  display:grid;
  align-content:center;
  text-align:center;
}

.rsmp-motto h2{
  margin-inline:auto;
  max-width:900px;
  font-size:clamp(3.4rem,8vw,8rem);
}

.rsmp-motto p{
  max-width:640px;
  margin:0 auto 42px;
  color:var(--mp-muted);
  font-size:1rem;
  font-weight:650;
  line-height:1.65;
}

.rsmp-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:18px 36px;
  font-size:12px;
  font-weight:900;
}

.rsmp-links a{
  color:var(--mp-cream);
  text-decoration:none;
}

.rsmp-links a::before{
  content:"▸ ";
  color:var(--mp-red);
}

.rsmp-child-risk{
  width:min(1120px, calc(100% - 44px));
  margin:0 auto;
  padding:clamp(82px,10vw,154px) 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:clamp(34px,6vw,88px);
  align-items:center;
}

.rsmp-child-risk__copy h2{
  max-width:820px;
  margin:0;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(2.4rem,5.3vw,5.8rem);
  font-weight:900;
  line-height:.96;
  letter-spacing:0;
}

.rsmp-child-risk__copy p:not(.rsmp-label){
  max-width:720px;
  margin:28px 0 0;
  color:rgba(207,197,182,.72);
  font-size:clamp(1rem,1.55vw,1.18rem);
  font-weight:650;
  line-height:1.7;
}

.rsmp-child-risk__rules{
  display:grid;
  gap:12px;
  max-width:760px;
  margin:34px 0 0;
  padding:0;
  list-style:none;
}

.rsmp-child-risk__rules li{
  position:relative;
  padding:15px 18px 15px 46px;
  border:1px solid rgba(207,197,182,.11);
  border-radius:18px;
  background:linear-gradient(90deg, rgba(240,95,73,.09), rgba(255,255,255,.02));
  color:rgba(229,221,208,.82);
  font-weight:760;
  line-height:1.45;
}

.rsmp-child-risk__rules li::before{
  content:"";
  position:absolute;
  left:18px;
  top:21px;
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--mp-red);
  box-shadow:0 0 0 8px rgba(240,95,73,.12);
}

.rsmp-child-risk__visual{
  min-width:0;
  display:grid;
  place-items:center;
}

.rsmp-zone-card{
  position:relative;
  width:min(430px, 100%);
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(207,197,182,.14);
  border-radius:34px;
  background:
    radial-gradient(circle at 74% 24%, rgba(240,95,73,.16), transparent 29%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    #0d0d0d;
  box-shadow:0 36px 86px rgba(0,0,0,.42);
}

.rsmp-zone-card__tag{
  position:absolute;
  left:24px;
  top:24px;
  z-index:4;
  color:var(--mp-red);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}

.rsmp-zone-card__stage{
  position:absolute;
  inset:86px 24px 92px;
  display:grid;
  grid-template-columns:minmax(0, 1fr) 46px minmax(0, 1fr);
  gap:18px;
  align-items:center;
}

.rsmp-zone-child,
.rsmp-zone-workshop{
  position:relative;
  min-height:300px;
  border-radius:26px;
}

.rsmp-zone-child{
  display:grid;
  place-items:center;
  border:1px solid rgba(207,197,182,.12);
  background:rgba(207,197,182,.045);
}

.rsmp-zone-child__head,
.rsmp-zone-child__body{
  position:absolute;
  display:block;
  left:50%;
  transform:translateX(-50%);
  background:linear-gradient(145deg, rgba(229,221,208,.92), rgba(207,197,182,.45));
}

.rsmp-zone-child__head{
  top:58px;
  width:70px;
  height:70px;
  border-radius:50%;
}

.rsmp-zone-child__body{
  top:142px;
  width:92px;
  height:116px;
  border-radius:54px 54px 24px 24px;
}

.rsmp-zone-child strong,
.rsmp-zone-workshop strong{
  position:absolute;
  left:14px;
  right:14px;
  bottom:18px;
  color:rgba(229,221,208,.76);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:10px;
  font-weight:900;
  line-height:1.35;
  text-align:center;
  text-transform:uppercase;
}

.rsmp-zone-divider{
  position:relative;
  height:318px;
  border-radius:999px;
  background:
    repeating-linear-gradient(135deg, rgba(240,95,73,.88) 0 10px, rgba(7,7,7,.92) 10px 20px);
  box-shadow:0 0 0 1px rgba(240,95,73,.28), 0 0 32px rgba(240,95,73,.12);
  animation:rsmpBarrierPulse 2.6s ease-in-out infinite;
}

.rsmp-zone-divider span{
  position:absolute;
  left:50%;
  width:18px;
  height:18px;
  border-radius:50%;
  transform:translateX(-50%);
  background:#070707;
  border:1px solid rgba(207,197,182,.24);
}

.rsmp-zone-divider span:nth-child(1){ top:34px; }
.rsmp-zone-divider span:nth-child(2){ top:150px; }
.rsmp-zone-divider span:nth-child(3){ bottom:34px; }

.rsmp-zone-workshop{
  border:1px solid rgba(240,95,73,.28);
  background:
    radial-gradient(circle at 50% 36%, rgba(240,95,73,.2), transparent 34%),
    rgba(240,95,73,.055);
}

.rsmp-zone-workshop::before{
  content:"";
  position:absolute;
  inset:20px;
  border:1px dashed rgba(240,95,73,.36);
  border-radius:20px;
}

.rsmp-zone-drop,
.rsmp-zone-vapor{
  position:absolute;
  display:block;
}

.rsmp-zone-drop{
  width:34px;
  height:34px;
  border-radius:50% 50% 50% 10%;
  background:radial-gradient(circle at 38% 34%, rgba(255,220,200,.8), rgba(240,95,73,.92) 42%, rgba(240,95,73,.18) 72%);
  transform:rotate(-28deg);
  animation:rsmpDropFloat 2.8s ease-in-out infinite;
}

.rsmp-zone-drop--one{
  left:28px;
  top:74px;
}

.rsmp-zone-drop--two{
  right:34px;
  top:132px;
  width:24px;
  height:24px;
  animation-delay:.45s;
}

.rsmp-zone-drop--three{
  left:54px;
  top:188px;
  width:20px;
  height:20px;
  animation-delay:.9s;
}

.rsmp-zone-vapor{
  right:34px;
  top:58px;
  width:58px;
  height:58px;
  border:1px solid rgba(240,95,73,.24);
  border-radius:50%;
  opacity:.36;
  animation:rsmpVaporDrift 3.4s ease-in-out infinite;
}

.rsmp-zone-vapor--two{
  right:70px;
  top:92px;
  width:42px;
  height:42px;
  animation-delay:.7s;
}

.rsmp-zone-risks{
  position:absolute;
  left:24px;
  right:24px;
  bottom:24px;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.rsmp-zone-risks span{
  min-height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(240,95,73,.28);
  border-radius:999px;
  color:rgba(229,221,208,.86);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

@keyframes rsmpBarrierPulse{
  0%,100%{ opacity:.76; filter:saturate(.9); }
  50%{ opacity:1; filter:saturate(1.25); }
}

@keyframes rsmpDropFloat{
  0%,100%{ transform:translateY(0) rotate(-28deg) scale(.94); }
  50%{ transform:translateY(-12px) rotate(-28deg) scale(1.05); }
}

@keyframes rsmpVaporDrift{
  0%,100%{ transform:translate(0,0) scale(.92); opacity:.18; }
  48%{ transform:translate(-16px,-20px) scale(1.15); opacity:.46; }
  78%{ transform:translate(-26px,-28px) scale(1.28); opacity:.08; }
}

.rsmp-irritation-card{
  position:relative;
  width:min(390px, 100%);
  min-height:520px;
  overflow:hidden;
  border:1px solid rgba(207,197,182,.14);
  border-radius:34px;
  background:
    radial-gradient(circle at 62% 18%, rgba(240,95,73,.16), transparent 25%),
    linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.018)),
    #0d0d0d;
  box-shadow:0 36px 86px rgba(0,0,0,.42);
}

.rsmp-irritation-card::before{
  content:"";
  position:absolute;
  inset:-40% 0 auto;
  height:46%;
  background:linear-gradient(180deg, transparent, rgba(240,95,73,.16), transparent);
  animation:rsmpIrritationScan 4.8s ease-in-out infinite;
}

.rsmp-irritation-card__tag{
  position:absolute;
  left:24px;
  top:24px;
  z-index:2;
  color:var(--mp-red);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}

.rsmp-irritation-figure{
  position:absolute;
  inset:70px 44px 54px;
}

.rsmp-irritation-figure span{
  position:absolute;
  display:block;
}

.rsmp-irritation-figure__head{
  left:50%;
  top:28px;
  width:92px;
  height:92px;
  border-radius:50%;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at 64% 38%, rgba(240,95,73,.18), transparent 16%),
    linear-gradient(135deg, rgba(229,221,208,.92), rgba(207,197,182,.66));
}

.rsmp-irritation-figure__body{
  left:50%;
  top:135px;
  width:124px;
  height:188px;
  border-radius:64px 64px 34px 34px;
  transform:translateX(-50%);
  background:
    radial-gradient(circle at 65% 32%, rgba(240,95,73,.22), transparent 16%),
    linear-gradient(160deg, rgba(229,221,208,.9), rgba(207,197,182,.42));
}

.rsmp-irritation-figure__arm{
  top:162px;
  width:52px;
  height:170px;
  border-radius:32px;
  background:linear-gradient(180deg, rgba(229,221,208,.78), rgba(207,197,182,.36));
}

.rsmp-irritation-figure__arm--left{
  left:42px;
  transform:rotate(14deg);
}

.rsmp-irritation-figure__arm--right{
  right:42px;
  transform:rotate(-14deg);
}

.rsmp-irritation-figure__leg{
  bottom:0;
  width:54px;
  height:150px;
  border-radius:34px 34px 18px 18px;
  background:linear-gradient(180deg, rgba(229,221,208,.66), rgba(207,197,182,.24));
}

.rsmp-irritation-figure__leg--left{
  left:calc(50% - 62px);
}

.rsmp-irritation-figure__leg--right{
  right:calc(50% - 62px);
}

.rsmp-irritation-mark{
  z-index:3;
  width:34px;
  height:34px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,220,200,.82) 0 16%, rgba(240,95,73,.92) 17% 52%, rgba(240,95,73,.18) 53% 100%);
  box-shadow:0 0 0 0 rgba(240,95,73,.36);
  animation:rsmpIrritationPulse 1.9s ease-in-out infinite;
}

.rsmp-irritation-mark--face{
  left:56%;
  top:54px;
}

.rsmp-irritation-mark--arm{
  left:78px;
  top:266px;
  animation-delay:.45s;
}

.rsmp-irritation-mark--breath{
  right:72px;
  top:112px;
  width:30px;
  height:30px;
  background:
    radial-gradient(circle, rgba(255,220,200,.72) 0 13%, rgba(240,95,73,.72) 14% 42%, rgba(240,95,73,.16) 43% 100%);
  animation-delay:.9s;
}

.rsmp-irritation-breath{
  z-index:2;
  right:74px;
  top:116px;
  width:42px;
  height:42px;
  border:1px solid rgba(240,95,73,.28);
  border-radius:50%;
  opacity:.52;
  animation:rsmpBreathDrift 2.8s ease-in-out infinite;
}

.rsmp-irritation-breath--two{
  right:52px;
  top:100px;
  width:54px;
  height:54px;
  opacity:.32;
  animation-delay:.38s;
}

.rsmp-irritation-breath--three{
  right:30px;
  top:82px;
  width:68px;
  height:68px;
  opacity:.2;
  animation-delay:.72s;
}

.rsmp-irritation-note{
  position:absolute;
  z-index:4;
  min-width:78px;
  padding:8px 11px;
  border:1px solid rgba(240,95,73,.38);
  border-radius:999px;
  background:rgba(7,7,7,.72);
  color:rgba(229,221,208,.86);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:11px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
  animation:rsmpWarningFloat 3.4s ease-in-out infinite;
}

.rsmp-irritation-note--skin{
  left:26px;
  top:342px;
}

.rsmp-irritation-note--eyes{
  right:20px;
  top:112px;
  animation-delay:.6s;
}

.rsmp-irritation-note--breath{
  right:22px;
  top:188px;
  animation-delay:1.1s;
}

@keyframes rsmpIrritationPulse{
  0%,100%{
    transform:scale(.9);
    opacity:.76;
    box-shadow:0 0 0 0 rgba(240,95,73,.34);
  }
  48%{
    transform:scale(1.12);
    opacity:1;
    box-shadow:0 0 0 16px rgba(240,95,73,0);
  }
}

@keyframes rsmpWarningFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-8px); }
}

@keyframes rsmpBreathDrift{
  0%,100%{ transform:translate(0,0) scale(.86); opacity:.22; }
  45%{ transform:translate(18px,-18px) scale(1.12); opacity:.5; }
  70%{ transform:translate(28px,-26px) scale(1.24); opacity:.08; }
}

@keyframes rsmpIrritationScan{
  0%,100%{ transform:translateY(0); opacity:.18; }
  50%{ transform:translateY(260%); opacity:.48; }
}

.rsmp-pictograms{
  width:min(1120px, calc(100% - 44px));
  margin:0 auto;
  padding:clamp(82px,10vw,154px) 0;
}

.rsmp-pictograms__title{
  margin:0 0 56px;
  max-width:780px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(2rem,4.4vw,4.4rem);
  font-weight:850;
  line-height:1.02;
  letter-spacing:0;
}

.rsmp-pictograms__title em{
  color:var(--mp-red);
  font-style:normal;
}

.rsmp-pictograms__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:24px;
}

.rsmp-pictogram{
  position:relative;
  padding:34px 30px 32px;
  border:1px solid rgba(207,197,182,.14);
  border-radius:22px;
  background:
    radial-gradient(circle at 80% 0%, rgba(240,95,73,.08), transparent 45%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
}

.rsmp-pictogram__icon{
  width:88px;
  height:88px;
  margin-bottom:20px;
  display:grid;
  place-items:center;
}

.rsmp-pictogram__icon svg{
  width:100%;
  height:100%;
  filter:drop-shadow(0 8px 24px rgba(230,59,34,.18));
}

.rsmp-pictogram__code{
  display:inline-block;
  margin-bottom:12px;
  padding:5px 11px;
  border:1px solid var(--mp-red);
  border-radius:999px;
  color:var(--mp-red);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.rsmp-pictogram h3{
  margin:0 0 12px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:1.32rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:0;
}

.rsmp-pictogram p{
  margin:0;
  color:rgba(229,221,208,.8);
  font-size:.96rem;
  line-height:1.55;
}

.rsmp-pictogram--note{
  background:
    repeating-linear-gradient(135deg, rgba(240,95,73,.04) 0 12px, transparent 12px 24px),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
}

.rsmp-ppe{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
  gap:18px;
  margin:0 0 56px;
  max-width:960px;
}

.rsmp-ppe__item{
  display:grid;
  gap:10px;
  padding:24px 22px 22px;
  border:1px solid rgba(207,197,182,.14);
  border-radius:18px;
  background:rgba(255,255,255,.018);
  transition:border-color .25s, background .25s, transform .25s;
}

.rsmp-ppe__item:hover{
  border-color:rgba(240,95,73,.46);
  background:rgba(240,95,73,.05);
  transform:translateY(-2px);
}

.rsmp-ppe__icon{
  width:42px;
  height:42px;
  color:var(--mp-red);
  display:grid;
  place-items:center;
}

.rsmp-ppe__icon svg{
  width:100%;
  height:100%;
}

.rsmp-ppe__item strong{
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:1rem;
  font-weight:850;
  letter-spacing:.01em;
  line-height:1.2;
}

.rsmp-ppe__item small{
  color:var(--mp-muted);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.rsmp-checklist-progress{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  margin:0 0 30px;
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.12em;
}

.rsmp-checklist-progress__bar{
  flex:1;
  min-width:160px;
  max-width:380px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  overflow:hidden;
}

.rsmp-checklist-progress__fill{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg, var(--mp-red), #ff8c79);
  transition:width .4s cubic-bezier(.2,.8,.2,1);
}

.rsmp-checklist-progress__text{
  color:var(--mp-cream);
}

.rsmp-checklist-progress__reset{
  margin-left:auto;
  appearance:none;
  border:1px solid var(--mp-line);
  background:transparent;
  color:var(--mp-muted);
  padding:8px 14px;
  border-radius:999px;
  font:inherit;
  cursor:pointer;
  transition:color .2s, border-color .2s, background .2s;
}

.rsmp-checklist-progress__reset:hover{
  color:var(--mp-cream);
  border-color:var(--mp-cream);
  background:rgba(255,255,255,.04);
}

.rsmp-history--checklist .rsmp-checkrow{
  position:relative;
  grid-template-columns:32px 148px minmax(0,1fr) minmax(120px,.3fr);
  cursor:pointer;
  transition:opacity .25s, background .25s;
}

.rsmp-history--checklist .rsmp-checkrow:hover{
  background:rgba(255,255,255,.018);
}

.rsmp-history--checklist .rsmp-checkrow:hover .rsmp-checkrow__indicator{
  border-color:var(--mp-cream);
}

.rsmp-checkrow__input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.rsmp-checkrow__indicator{
  width:22px;
  height:22px;
  margin-top:6px;
  border:2px solid rgba(207,197,182,.36);
  border-radius:6px;
  position:relative;
  transition:border-color .2s, background .2s;
}

.rsmp-checkrow__indicator::after{
  content:"";
  position:absolute;
  inset:0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e63b22' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'><polyline points='5 12 10 18 19 6'/></svg>") center/14px no-repeat;
  opacity:0;
  transform:scale(.6);
  transition:opacity .2s, transform .2s cubic-bezier(.4,1.6,.6,1);
}

.rsmp-checkrow__input:checked ~ .rsmp-checkrow__indicator{
  border-color:var(--mp-red);
  background:rgba(240,95,73,.1);
}

.rsmp-checkrow__input:checked ~ .rsmp-checkrow__indicator::after{
  opacity:1;
  transform:scale(1);
}

.rsmp-checkrow__input:focus-visible ~ .rsmp-checkrow__indicator{
  outline:2px solid var(--mp-red);
  outline-offset:3px;
}

.rsmp-history--checklist .rsmp-checkrow:has(.rsmp-checkrow__input:checked) strong{
  color:var(--mp-muted);
  text-decoration:line-through;
  text-decoration-color:rgba(240,95,73,.55);
  text-decoration-thickness:2px;
}

.rsmp-firstaid{
  width:min(1120px, calc(100% - 44px));
  margin:0 auto;
  padding:clamp(82px,10vw,154px) 0;
}

.rsmp-firstaid h2{
  margin:0 0 18px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:clamp(2.6rem,6.4vw,6rem);
  font-weight:900;
  line-height:.92;
  text-transform:uppercase;
}

.rsmp-firstaid__lead{
  margin:0 0 48px;
  max-width:640px;
  color:var(--mp-muted);
  font-size:1rem;
  line-height:1.6;
}

.rsmp-firstaid__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:22px;
  margin-bottom:32px;
}

.rsmp-firstaid__card{
  position:relative;
  padding:34px 30px 30px;
  border:1px solid rgba(207,197,182,.14);
  border-radius:24px;
  background:
    radial-gradient(circle at 82% 0%, rgba(240,95,73,.1), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.012));
  transition:border-color .25s, transform .25s;
}

.rsmp-firstaid__card:hover{
  border-color:rgba(240,95,73,.36);
  transform:translateY(-2px);
}

.rsmp-firstaid__icon{
  width:46px;
  height:46px;
  margin-bottom:18px;
  color:var(--mp-red);
}

.rsmp-firstaid__icon svg{
  width:100%;
  height:100%;
}

.rsmp-firstaid__tag{
  display:inline-block;
  margin-bottom:14px;
  padding:5px 11px;
  border:1px solid var(--mp-red);
  border-radius:999px;
  color:var(--mp-red);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:10px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.rsmp-firstaid__card h3{
  margin:0 0 18px;
  color:var(--mp-cream);
  font-family:"Sora","Inter",system-ui,sans-serif;
  font-size:1.4rem;
  font-weight:900;
  line-height:1.1;
}

.rsmp-firstaid__card ol{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:firstaid;
  display:grid;
  gap:14px;
}

.rsmp-firstaid__card ol li{
  position:relative;
  padding-left:36px;
  color:rgba(229,221,208,.84);
  font-size:.95rem;
  line-height:1.55;
  counter-increment:firstaid;
}

.rsmp-firstaid__card ol li::before{
  content:counter(firstaid);
  position:absolute;
  left:0;
  top:1px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid var(--mp-line);
  border-radius:50%;
  color:var(--mp-cream);
  font-family:"Syne Mono", ui-monospace, monospace;
  font-size:10px;
  font-weight:900;
}

.rsmp-firstaid__note{
  margin:0;
  color:var(--mp-muted);
  font-size:.94rem;
  line-height:1.6;
}

.rsmp-firstaid__note a{
  color:var(--mp-cream);
  text-decoration:underline;
  text-decoration-color:var(--mp-red);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

.rsmp-firstaid__note a:hover{
  color:var(--mp-red);
}

@media (max-width:760px){
  .rsmp-history--checklist .rsmp-checkrow{
    grid-template-columns:32px 1fr;
    grid-template-areas:
      "check num"
      "check main"
      "check hint";
    gap:6px 16px;
    padding:22px 0;
  }

  .rsmp-history--checklist .rsmp-checkrow .rsmp-checkrow__indicator{
    grid-area:check;
    margin-top:4px;
  }

  .rsmp-history--checklist .rsmp-checkrow > span:not(.rsmp-checkrow__indicator){
    grid-area:num;
  }

  .rsmp-history--checklist .rsmp-checkrow strong{
    grid-area:main;
  }

  .rsmp-history--checklist .rsmp-checkrow small{
    grid-area:hint;
  }

  .rsmp-firstaid h2{
    font-size:clamp(2.2rem,12vw,3.4rem);
  }
}

@media (prefers-reduced-motion: reduce){
  .rsmp-irritation-card::before,
  .rsmp-irritation-mark,
  .rsmp-irritation-note,
  .rsmp-irritation-breath,
  .rsmp-zone-divider,
  .rsmp-zone-drop,
  .rsmp-zone-vapor{
    animation:none;
  }
}

@media (max-width:900px){
  .rsmp-child-risk{
    grid-template-columns:1fr;
    gap:44px;
  }

  .rsmp-child-risk__visual{
    justify-items:start;
  }

  .rsmp-irritation-card{
    width:min(440px, 100%);
  }

  .rsmp-zone-card{
    width:min(460px, 100%);
  }
}

@media (max-width:620px){
  .rsmp-child-risk{
    width:min(100% - 32px, 1120px);
    padding:64px 0;
  }

  .rsmp-child-risk__copy h2{
    font-size:2.35rem;
    line-height:1.05;
  }

  .rsmp-child-risk__copy p:not(.rsmp-label){
    margin-top:22px;
    font-size:.98rem;
    line-height:1.62;
  }

  .rsmp-child-risk__rules{
    margin-top:24px;
  }

  .rsmp-child-risk__rules li{
    padding:14px 14px 14px 40px;
  }

  .rsmp-child-risk__rules li::before{
    left:16px;
    top:20px;
  }

  .rsmp-irritation-card{
    min-height:430px;
    border-radius:28px;
  }

  .rsmp-zone-card{
    min-height:430px;
    border-radius:28px;
  }

  .rsmp-zone-card__stage{
    inset:72px 16px 88px;
    grid-template-columns:minmax(0, 1fr) 34px minmax(0, 1fr);
    gap:10px;
  }

  .rsmp-zone-child,
  .rsmp-zone-workshop{
    min-height:248px;
    border-radius:22px;
  }

  .rsmp-zone-child__head{
    top:52px;
    width:54px;
    height:54px;
  }

  .rsmp-zone-child__body{
    top:120px;
    width:72px;
    height:92px;
  }

  .rsmp-zone-child strong,
  .rsmp-zone-workshop strong{
    left:8px;
    right:8px;
    bottom:14px;
    font-size:9px;
  }

  .rsmp-zone-divider{
    height:264px;
  }

  .rsmp-zone-divider span{
    width:14px;
    height:14px;
  }

  .rsmp-zone-divider span:nth-child(1){ top:28px; }
  .rsmp-zone-divider span:nth-child(2){ top:124px; }
  .rsmp-zone-divider span:nth-child(3){ bottom:28px; }

  .rsmp-zone-workshop::before{
    inset:14px;
  }

  .rsmp-zone-drop--one{
    left:20px;
    top:62px;
    width:28px;
    height:28px;
  }

  .rsmp-zone-drop--two{
    right:22px;
    top:112px;
  }

  .rsmp-zone-drop--three{
    left:34px;
    top:164px;
  }

  .rsmp-zone-vapor{
    right:20px;
    top:48px;
    width:48px;
    height:48px;
  }

  .rsmp-zone-vapor--two{
    right:46px;
    top:82px;
    width:36px;
    height:36px;
  }

  .rsmp-zone-risks{
    left:16px;
    right:16px;
    bottom:18px;
    gap:6px;
  }

  .rsmp-zone-risks span{
    min-height:36px;
    font-size:9px;
  }

  .rsmp-irritation-figure{
    inset:54px 24px 40px;
  }

  .rsmp-irritation-figure__head{
    width:76px;
    height:76px;
  }

  .rsmp-irritation-figure__body{
    top:112px;
    width:102px;
    height:156px;
  }

  .rsmp-irritation-figure__arm{
    top:136px;
    width:42px;
    height:132px;
  }

  .rsmp-irritation-figure__arm--left{
    left:36px;
  }

  .rsmp-irritation-figure__arm--right{
    right:36px;
  }

  .rsmp-irritation-figure__leg{
    width:44px;
    height:120px;
  }

  .rsmp-irritation-figure__leg--left{
    left:calc(50% - 50px);
  }

  .rsmp-irritation-figure__leg--right{
    right:calc(50% - 50px);
  }

  .rsmp-irritation-mark{
    width:28px;
    height:28px;
  }

  .rsmp-irritation-mark--face{
    top:44px;
  }

  .rsmp-irritation-mark--arm{
    left:62px;
    top:218px;
  }

  .rsmp-irritation-mark--breath{
    right:58px;
    top:94px;
    width:24px;
    height:24px;
  }

  .rsmp-irritation-breath{
    right:60px;
    top:96px;
    width:34px;
    height:34px;
  }

  .rsmp-irritation-breath--two{
    right:42px;
    top:82px;
    width:44px;
    height:44px;
  }

  .rsmp-irritation-breath--three{
    right:24px;
    top:68px;
    width:54px;
    height:54px;
  }

  .rsmp-irritation-note{
    min-width:66px;
    padding:7px 9px;
    font-size:10px;
  }

  .rsmp-irritation-note--skin{
    left:16px;
    top:280px;
  }

  .rsmp-irritation-note--eyes{
    right:14px;
    top:88px;
  }

  .rsmp-irritation-note--breath{
    right:16px;
    top:154px;
  }
}

body.nr-resin-safety-page .rsmp-page [data-animate]{
  opacity:0;
  transform:translateY(24px);
  filter:blur(6px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1), filter .7s ease;
  transition-delay:var(--rs-delay,0ms);
}

body.nr-resin-safety-page .rsmp-page [data-animate].is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

@media (max-width:900px){
  .rsmp-hero{
    min-height:680px;
    height:auto;
    padding-top:110px;
  }

  .rsmp-mini-nav,
  .rsmp-rail,
  .rsmp-side-note{
    display:none;
  }

  .rsmp-silhouette{
    right:-14%;
    width:min(420px,72vw);
    opacity:.48;
  }

  .rsmp-history-row{
    grid-template-columns:70px minmax(0,1fr);
  }

  .rsmp-history-row small{
    grid-column:2;
  }

  .rsmp-image-copy,
  .rsmp-dark-portrait{
    min-height:620px;
    height:620px;
  }
}

@media (max-width:620px){
  .rsmp-hero{
    min-height:580px;
    padding-inline:18px;
  }

  .rsmp-name{
    letter-spacing:.28em;
    font-size:9px;
  }

  .rsmp-hero-title{
    font-size:clamp(3.2rem,18vw,5rem);
  }

  .rsmp-intro,
  .rsmp-stack-section,
  .rsmp-history,
  .rsmp-words,
  .rsmp-quotes,
  .rsmp-motto{
    width:min(100% - 32px, 1120px);
    padding:74px 0;
  }

  .rsmp-stack-section,
  .rsmp-words,
  .rsmp-quotes{
    min-height:auto;
  }

  .rsmp-object{
    display:none;
  }

  .rsmp-intro h2,
  .rsmp-image-copy h2,
  .rsmp-quotes h2{
    font-size:clamp(2.1rem,11vw,3.35rem);
  }

  .rsmp-stack-title,
  .rsmp-history h2,
  .rsmp-words h2,
  .rsmp-motto h2{
    font-size:clamp(3.2rem,16vw,5.2rem);
  }

  .rsmp-word-list{
    font-size:clamp(2.55rem,15vw,4.8rem);
  }

  .rsmp-peach{
    min-height:330px;
  }
}

body:is(.nr-blog-page, .nr-docs-page, .nr-status-page, .nr-changelog-page, .nr-brand-suggest-page, .nr-neural-page, .nr-contract-page, .nr-offer-page, .nr-faq-page, .nr-guide-page, .nr-resins-page, .nr-lacquers-page, .nr-subpage-page, .contact-page-body) {
  color: var(--nr-subpage-text);
  font-family: var(--nr-subpage-font);
  --nr-page-panel-border: var(--nr-subpage-bento-border);
  --nr-page-panel-bg: var(--nr-subpage-bento-bg);
  --nr-page-panel-shadow: var(--nr-subpage-bento-shadow);
  --nr-page-card-border: var(--nr-subpage-bento-border-soft);
  --nr-page-card-bg: var(--nr-subpage-bento-bg-soft);
  --nr-page-card-bg-strong: var(--nr-subpage-bento-bg-strong);
  --nr-page-chip-border: var(--nr-subpage-bento-border);
  --nr-page-chip-bg: var(--nr-subpage-chip-bg);
  --nr-page-chip-bg-strong: var(--nr-subpage-chip-bg-strong);
  --nr-page-chip-text: var(--nr-subpage-chip-text);
  --nr-page-divider: var(--nr-subpage-divider);
  --nr-page-accent-bg: var(--nr-surface-accent);
  --nr-page-accent-bg-strong: var(--nr-surface-accent-strong);
  --nr-page-accent-border: var(--nr-border-accent-ui);
  --nr-page-info-bg: var(--nr-surface-info-ui);
  --nr-page-info-bg-strong: var(--nr-surface-info-strong);
  --nr-page-info-border: var(--nr-border-info-ui);
  --nr-page-warning-bg: var(--nr-surface-warning-ui);
  --nr-page-warning-bg-strong: var(--nr-surface-warning-strong);
  --nr-page-warning-border: var(--nr-border-warning-ui);
  --nr-page-accent-cta: var(--nr-gradient-accent-cta);
  --nr-page-accent-shadow: var(--nr-shadow-accent-cta);
}

body:is(.nr-blog-page, .nr-docs-page, .nr-status-page, .nr-changelog-page, .nr-brand-suggest-page, .nr-neural-page, .nr-contract-page, .nr-offer-page, .nr-faq-page, .nr-guide-page, .nr-resins-page, .nr-lacquers-page, .nr-subpage-page, .contact-page-body) :where(h1, h2, h3, .page-title, .docs-title, .hero-title, .section-title, .contact-header__title, .contact-form__title, .contact-cta__text) {
  font-family: var(--nr-subpage-heading-font);
}

body:is(.nr-blog-page, .nr-docs-page, .nr-status-page, .nr-changelog-page, .nr-brand-suggest-page, .nr-neural-page, .nr-contract-page, .nr-offer-page, .nr-faq-page, .nr-guide-page, .nr-resins-page, .nr-lacquers-page, .nr-subpage-page, .contact-page-body) :where(.nr-ui-label, .hero-kicker, .kicker, .docs-badge, .section-eyebrow, .page-tag, .label-mini, .contact-header__nav, .contact-info__label) {
  font-family: var(--nr-subpage-mono-font);
}

:where(
  .nr-ui-label,
  body.nr-blog-page .hero-kicker,
  body.nr-status-page .hero-label,
  body.nr-status-page .section-head-label,
  body.nr-brand-suggest-page .kicker,
  body.nr-docs-page .docs-badge,
  body.nr-docs-page .section-eyebrow,
  body.nr-docs-page .label-mini,
  body.nr-docs-page .flow-step-num,
  body.nr-offer-page .offer-intro-eyebrow,
  body.nr-offer-page .offer-intro-list-label,
  body.nr-contract-page .section-tag,
  body.nr-offer-page .section-tag,
  body.nr-contract-page .label-mini,
  body.nr-offer-page .label-mini,
  body.nr-neural-page .hero-kicker,
  body.nr-neural-page .label
) {
  color: var(--accent-soft);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

:where(
  .nr-ui-pill,
  body.nr-blog-page .hero-meta span,
  body.nr-blog-page .step-badge,
  body.nr-status-page .hero-overall,
  body.nr-status-page .svc-badge,
  body.nr-status-page .badge,
  body.nr-changelog-page .version-number,
  body.nr-changelog-page .version-badge,
  body.nr-changelog-page .feature-label,
  body.nr-guide-page .step-num,
  body.nr-guide-page .shortcut-key,
  body.nr-guide-page .badge-ai,
  body.nr-guide-page .badge-pro,
  body.nr-neural-page .chip,
  body.nr-neural-page .hero-link,
  body.nr-neural-page .legend-item,
  body.nr-brand-suggest-page .mail-btn,
  body.nr-offer-page .offer-intro-chip
) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

:where(
  .nr-ui-pill-soft,
  body.nr-blog-page .hero-meta span,
  body.nr-blog-page .step-badge,
  body.nr-status-page .hero-overall,
  body.nr-status-page .svc-badge,
  body.nr-status-page .badge,
  body.nr-neural-page .chip,
  body.nr-neural-page .hero-link,
  body.nr-neural-page .legend-item
) {
  border: 1px solid var(--nr-page-chip-border);
  background: var(--nr-page-chip-bg);
  color: var(--nr-page-chip-text);
}

:where(
  .nr-ui-card,
  body.nr-blog-page .demo,
  body.nr-blog-page .micro-tip,
  body.nr-blog-page .fcard,
  body.nr-status-page .metric,
  body.nr-status-page .tech-cell,
  body.nr-changelog-page .feature-item,
  body.nr-brand-suggest-page .block,
  body.nr-brand-suggest-page .footer-col,
  body.nr-docs-page .docs-meta-item,
  body.nr-docs-page .card,
  body.nr-docs-page .tool-card-link,
  body.nr-docs-page .docs-section,
  body.nr-faq-page .faq-item,
  body.nr-guide-page .step-grid,
  body.nr-guide-page .tip-box,
  body.nr-neural-page .meta-card,
  body.nr-neural-page .legend-card,
  body.nr-neural-page .tip,
  body.nr-neural-page .node-modal
) {
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-page-card-bg);
}

:where(
  .nr-ui-card-strong,
  body.nr-neural-page .meta-card,
  body.nr-neural-page .legend-card,
  body.nr-neural-page .tip,
  body.nr-neural-page .node-modal
) {
  background: var(--nr-page-card-bg-strong);
}

body:is(.nr-blog-page, .nr-status-page, .nr-changelog-page, .nr-brand-suggest-page, .nr-neural-page, .nr-contract-page, .nr-offer-page) .hero,
body .nr-ui-panel,
body.nr-docs-page .docs-header,
body.nr-brand-suggest-page .mail-card,
body.nr-status-page .services,
body.nr-status-page .metrics,
body.nr-status-page .tech-row,
body.nr-changelog-page .version,
body.nr-contract-page .side-card,
body.nr-offer-page .side-card,
body.nr-faq-page .search-wrap,
body.nr-guide-page .module-card {
  border: 1px solid var(--nr-page-panel-border);
  border-radius: 24px;
  background: var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
}

body.nr-blog-page .hero,
body.nr-status-page main,
body.nr-brand-suggest-page .container,
body.nr-changelog-page .container,
body.nr-neural-page .page-shell,
body.nr-contract-page .contract-shell,
body.nr-offer-page .offer-intro,
body.nr-offer-page .offer-app {
  width: calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
  max-width: var(--nr-shell-panel-max, 1408px);
  margin: 0 auto;
}

body.nr-blog-page .hero {
  margin-top: 28px;
  padding: 34px clamp(22px, 4vw, 42px);
}

body.nr-blog-page article {
  width: min(860px, calc(100% - 48px));
  margin: 0 auto;
  padding: 34px 0 88px;
}

body.nr-blog-page .hero-kicker {
  margin: 0 0 14px;
  letter-spacing: 0.22em;
}

body.nr-blog-page .hero h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
  text-wrap: balance;
}

body.nr-blog-page .hero-sub {
  max-width: 66ch;
  margin: 18px 0 0;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.6vw, 1.16rem);
  line-height: 1.8;
}

body.nr-blog-page .hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

body.nr-blog-page .hero-meta span,
body.nr-blog-page .step-badge {
  letter-spacing: 0.1em;
}

body.nr-blog-page article p,
body.nr-blog-page article li {
  color: var(--text-soft);
  font-size: 1rem;
  line-height: 1.82;
}

body.nr-blog-page article h2 {
  margin: 56px 0 18px;
  color: var(--text);
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.03em;
}

body.nr-blog-page article h3 {
  margin: 34px 0 14px;
  color: var(--accent-soft);
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}

body.nr-blog-page .lead {
  color: var(--text);
  font-size: clamp(1.08rem, 1.8vw, 1.28rem);
  line-height: 1.84;
}

body.nr-blog-page .demo,
body.nr-blog-page .callout,
body.nr-blog-page .micro-tip {
  margin: 24px 0;
  padding: 20px;
  border-radius: 22px;
}

body.nr-blog-page .demo canvas {
  width: 100%;
  border-radius: 16px;
  border: 1px solid var(--nr-page-card-border);
  background: linear-gradient(180deg, var(--nr-page-card-bg-strong), var(--nr-surface-faint));
}

body.nr-blog-page .demo-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.nr-blog-page .dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: var(--nr-page-chip-bg-strong);
  flex: 0 0 auto;
}

body.nr-blog-page .dot.coral { background: var(--accent); }
body.nr-blog-page .dot.teal { background: var(--teal); }
body.nr-blog-page .dot.amber { background: var(--amber); }

body.nr-blog-page .callout {
  border-color: var(--nr-page-info-border);
  background: var(--nr-page-info-bg);
}

body.nr-blog-page .callout.amber {
  border-color: var(--nr-page-warning-border);
  background: var(--nr-page-warning-bg);
}

body.nr-blog-page .features-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

body.nr-blog-page .fcard {
  padding: 18px;
  border-radius: 20px;
}

body.nr-blog-page .fcard-icon {
  margin-bottom: 10px;
  font-size: 1.35rem;
}

body.nr-blog-page .fcard-title {
  color: var(--text);
  font-weight: 700;
}

body.nr-blog-page .fcard-desc {
  margin-top: 8px;
  color: var(--text-soft);
  line-height: 1.65;
}

body.nr-blog-page .toc-sep {
  height: 1px;
  margin: 16px 0;
  border: 0;
  background: var(--nr-page-divider);
}

body.nr-status-page main {
  padding: 26px 0 96px;
}

body.nr-status-page .hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  margin-top: 10px;
  padding: 30px clamp(20px, 3.6vw, 38px);
}

body.nr-status-page .hero-label,
body.nr-status-page .section-head-label {
  letter-spacing: 0.22em;
}

body.nr-status-page .hero-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px;
  margin-top: 12px;
  color: var(--text);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
}

body.nr-status-page .hero-title em {
  color: var(--accent-soft);
  font-style: normal;
}

body.nr-status-page .hero-right {
  display: grid;
  justify-items: end;
  gap: 12px;
}

body.nr-status-page .hero-ts {
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.nr-status-page .hero-overall,
body.nr-status-page .svc-badge,
body.nr-status-page .badge {
  gap: 8px;
  min-height: 36px;
  letter-spacing: 0.08em;
}

body.nr-status-page .hero-overall-dot,
body.nr-status-page .svc-badge-dot,
body.nr-status-page .badge-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--amber);
  box-shadow: var(--nr-shadow-ring-warning);
}

body.nr-status-page .section-head {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  margin: 34px 0 16px;
}

body.nr-status-page .section-head-line {
  height: 1px;
  background: var(--nr-page-divider);
}

body.nr-status-page .services,
body.nr-status-page .metrics,
body.nr-status-page .tech-row {
  padding: 18px;
}

body.nr-status-page .service-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px 110px auto;
  gap: 14px;
  align-items: center;
  padding: 16px 4px;
  border-top: 1px solid var(--nr-page-divider);
}

body.nr-status-page .service-row:first-child {
  border-top: 0;
}

body.nr-status-page .svc-name {
  color: var(--text);
  font-weight: 700;
}

body.nr-status-page .svc-desc,
body.nr-status-page .svc-latency,
body.nr-status-page .svc-uptime,
body.nr-status-page .metric-sub,
body.nr-status-page .tech-key {
  color: var(--text-dim);
}

body.nr-status-page .metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.nr-status-page .metric {
  padding: 18px;
  border-radius: 18px;
}

body.nr-status-page .metric-label {
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.nr-status-page .metric-value {
  margin-top: 10px;
  color: var(--text);
  font-size: clamp(1.4rem, 2.2vw, 2rem);
  font-weight: 800;
  letter-spacing: -0.04em;
}

body.nr-status-page .tech-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

body.nr-status-page .tech-cell {
  padding: 14px 16px;
  border-radius: 16px;
}

body.nr-status-page .tech-val {
  display: block;
  margin-top: 10px;
  color: var(--text-soft);
}

body.nr-status-page footer {
  margin-top: 42px;
  border: 0;
  padding: 0;
  text-align: left;
}

body.nr-status-page .ft-tagline-strip,
body.nr-status-page .ft-body,
body.nr-status-page .ft-bottom {
  padding-left: 0;
  padding-right: 0;
}

body.nr-changelog-page .container {
  padding: 132px 0 96px;
}

body.nr-changelog-page header {
  margin-bottom: 28px;
}

body.nr-changelog-page header h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.05em;
}

body.nr-changelog-page .subtitle {
  margin: 10px 0 0;
  color: var(--text-soft);
}

body.nr-changelog-page .version {
  margin-top: 20px;
  padding: 24px;
}

body.nr-changelog-page .version-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

body.nr-changelog-page .version-number,
body.nr-changelog-page .version-badge,
body.nr-changelog-page .feature-label {
  letter-spacing: 0.12em;
}

body.nr-changelog-page .version-number {
  color: var(--text);
  background: var(--nr-page-chip-bg-strong);
}

body.nr-changelog-page .version-badge {
  color: var(--accent-soft);
  border: 1px solid var(--nr-page-accent-border);
  background: var(--nr-page-accent-bg);
}

body.nr-changelog-page .version-date {
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.nr-changelog-page .category {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--nr-page-divider);
}

body.nr-changelog-page .category:first-of-type {
  border-top: 0;
  padding-top: 0;
}

body.nr-changelog-page .category-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  color: var(--text);
}

body.nr-changelog-page .feature-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.nr-changelog-page .feature-item {
  padding: 16px;
  border-radius: 18px;
}

body.nr-changelog-page .feature-title,
body.nr-changelog-page .feature-description {
  color: var(--text-soft);
}

body.nr-changelog-page .feature-title {
  color: var(--text);
  font-weight: 700;
}

body.nr-changelog-page .label-added,
body.nr-changelog-page .feature-item.added .feature-label {
  color: var(--nr-info);
  background: var(--nr-page-info-bg-strong);
}

body.nr-changelog-page .label-changed,
body.nr-changelog-page .feature-item.changed .feature-label {
  color: var(--gold);
  background: var(--nr-page-warning-bg-strong);
}

body.nr-changelog-page .label-fixed,
body.nr-changelog-page .feature-item.fixed .feature-label {
  color: var(--accent-soft);
  background: var(--nr-page-accent-bg-strong);
}

body.nr-brand-suggest-page .container {
  padding: 132px 0 88px;
}

body.nr-brand-suggest-page main,
body.nr-brand-suggest-page footer {
  width: 100%;
}

body.nr-brand-suggest-page .hero {
  padding: 30px clamp(20px, 3.6vw, 38px);
}

body.nr-brand-suggest-page .kicker {
  margin: 0 0 12px;
  letter-spacing: 0.2em;
}

body.nr-brand-suggest-page .hero h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.4rem, 4.6vw, 4.2rem);
  font-weight: 800;
  letter-spacing: -0.05em;
}

body.nr-brand-suggest-page .lead {
  max-width: 62ch;
  margin-top: 18px;
  color: var(--text-soft);
  line-height: 1.8;
}

body.nr-brand-suggest-page .content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 20px;
  margin-top: 24px;
}

body.nr-brand-suggest-page .block,
body.nr-brand-suggest-page .mail-card,
body.nr-brand-suggest-page .footer-col {
  padding: 22px;
  border-radius: 22px;
}

body.nr-brand-suggest-page .block h2,
body.nr-brand-suggest-page .mail-card h3,
body.nr-brand-suggest-page .footer-col h4 {
  margin: 0 0 12px;
  color: var(--text);
}

body.nr-brand-suggest-page .list,
body.nr-brand-suggest-page .footer-col p {
  margin: 0;
  color: var(--text-soft);
  line-height: 1.74;
}

body.nr-brand-suggest-page .mail-btn {
  justify-content: center;
  min-height: 46px;
  margin-top: 16px;
  padding: 0 18px;
  background: var(--nr-page-accent-cta);
  color: var(--nr-text-contrast);
  letter-spacing: 0.12em;
  text-decoration: none;
  box-shadow: var(--nr-page-accent-shadow);
}

body.nr-brand-suggest-page footer {
  margin-top: 28px;
  border: 0;
  padding: 0;
}

body.nr-brand-suggest-page .footer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body.nr-brand-suggest-page .footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
  padding: 18px 4px 0;
  border-top: 1px solid var(--nr-page-divider);
}

body.nr-brand-suggest-page .footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

body.contact-page-body .contact-page {
  width: calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
  max-width: var(--nr-shell-panel-max, 1408px);
  margin: 0 auto;
  padding: 112px 0 96px;
  color: var(--nr-subpage-text);
}

body.contact-page-body .contact-header {
  border-bottom: 1px solid var(--nr-page-divider);
}

body.contact-page-body .contact-header__title,
body.contact-page-body .contact-form__title,
body.contact-page-body .contact-cta__text,
body.contact-page-body .contact-bottom__title {
  color: var(--nr-subpage-text);
  letter-spacing: -0.04em;
}

body.contact-page-body .contact-header__nav,
body.contact-page-body .contact-intro,
body.contact-page-body .contact-info__label,
body.contact-page-body .contact-info__section p,
body.contact-page-body .contact-form .form-row label,
body.contact-page-body .contact-form .form-checkbox-item,
body.contact-page-body .contact-form .form-consent,
body.contact-page-body .contact-form .form-consent label,
body.contact-page-body .contact-bottom {
  color: var(--nr-subpage-text-dim);
}

body.contact-page-body .contact-header__nav a:hover,
body.contact-page-body .contact-info__section a,
body.contact-page-body .contact-form .form-consent a,
body.contact-page-body .contact-bottom a:hover {
  color: var(--accent-soft);
}

body.contact-page-body .contact-body {
  gap: 20px;
  border-bottom: 0;
}

body.contact-page-body .contact-intro,
body.contact-page-body .contact-info,
body.contact-page-body .contact-body > div:last-child,
body.contact-page-body .contact-cta,
body.contact-page-body .contact-bottom {
  border: 1px solid var(--nr-page-panel-border);
  border-radius: 24px;
  background: var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
  padding: clamp(20px, 3vw, 30px);
}

body.contact-page-body .contact-intro {
  max-width: 720px;
  margin: 24px 0 0 auto;
  border-bottom: 1px solid var(--nr-page-panel-border);
}

body.contact-page-body .contact-info__label {
  border-bottom: 1px solid var(--nr-page-divider);
}

body.contact-page-body .contact-info__section-title {
  color: var(--nr-subpage-text);
}

body.contact-page-body .contact-form .form-row input,
body.contact-page-body .contact-form .form-row select,
body.contact-page-body .contact-form .form-row textarea {
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-surface-control-idle);
  color: var(--nr-subpage-text);
}

body.contact-page-body .contact-form .form-row input:focus,
body.contact-page-body .contact-form .form-row select:focus,
body.contact-page-body .contact-form .form-row textarea:focus {
  border-color: var(--nr-page-accent-border);
}

body.contact-page-body .contact-form .form-checkbox-item input[type="checkbox"],
body.contact-page-body .contact-form .form-consent input[type="checkbox"] {
  accent-color: var(--accent);
}

body.contact-page-body .contact-form .form-submit-btn {
  border-radius: 8px;
  background: var(--nr-page-accent-cta);
  box-shadow: var(--nr-page-accent-shadow);
}

body.contact-page-body .contact-form .form-submit-btn:hover {
  background: var(--nr-surface-accent-cta);
}

body.contact-page-body .contact-form .form-status.is-success {
  background: var(--nr-success-soft);
  color: var(--nr-success);
}

body.contact-page-body .contact-form .form-status.is-error {
  background: var(--nr-danger-soft);
  color: var(--nr-danger);
}

body.contact-page-body .contact-cta {
  margin-top: 20px;
  border-bottom: 1px solid var(--nr-page-panel-border);
}

body.contact-page-body .contact-cta__arrow {
  border-color: var(--nr-page-accent-border);
  color: var(--accent-soft);
}

body.contact-page-body .contact-bottom {
  margin-top: 20px;
}

body.nr-docs-page .docs-wrap {
  width: calc(100% - (2 * var(--nr-shell-gutter, clamp(20px, 3vw, 56px))));
  max-width: var(--nr-shell-panel-max, 1408px);
  margin: 0 auto;
  padding: 112px 0 96px;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

body.nr-docs-page .docs-sidebar {
  position: sticky;
  top: 112px;
  display: grid;
  gap: 18px;
  align-self: start;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
}

body.nr-docs-page .sidebar-logo a,
body.nr-docs-page .tool-card-link {
  text-decoration: none;
}

body.nr-docs-page .sidebar-logo a {
  display: flex;
  align-items: center;
  gap: 12px;
}

body.nr-docs-page .logo-dot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--nr-surface-accent-cta);
  color: var(--accent-soft);
  font-weight: 800;
}

body.nr-docs-page .logo-name {
  color: var(--text);
  font-weight: 800;
  letter-spacing: -0.03em;
}

body.nr-docs-page .logo-sub,
body.nr-docs-page .sidebar-group-label,
body.nr-docs-page .num {
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

body.nr-docs-page .sidebar-group {
  display: grid;
  gap: 8px;
}

body.nr-docs-page .sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 14px;
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-surface-faint);
  color: var(--text-soft);
  text-decoration: none;
}

body.nr-docs-page .docs-main {
  display: grid;
  gap: 26px;
}

body.nr-docs-page .docs-header {
  padding: 28px clamp(20px, 3vw, 34px);
}

body.nr-docs-page .docs-badge,
body.nr-docs-page .section-eyebrow,
body.nr-docs-page .label-mini {
  letter-spacing: 0.18em;
}

body.nr-docs-page .docs-title {
  margin: 16px 0 0;
  color: var(--text);
  font-size: clamp(2.6rem, 5vw, 4.8rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
}

body.nr-docs-page .docs-title span {
  color: var(--accent-soft);
}

body.nr-docs-page .docs-subtitle,
body.nr-docs-page .section-desc,
body.nr-docs-page .card-body,
body.nr-docs-page .callout-text {
  color: var(--text-soft);
  line-height: 1.78;
}

body.nr-docs-page .docs-meta,
body.nr-docs-page .tool-grid,
body.nr-docs-page .grid-3,
body.nr-docs-page .flow-strip {
  display: grid;
  gap: 14px;
}

body.nr-docs-page .docs-meta {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

body.nr-docs-page .docs-meta-item,
body.nr-docs-page .card,
body.nr-docs-page .flow-step,
body.nr-docs-page .tool-card-link,
body.nr-docs-page .docs-section {
  padding: 18px;
  border-radius: 20px;
}

body.nr-docs-page .docs-meta-item span {
  display: block;
  margin-top: 8px;
  color: var(--text);
  font-size: 1rem;
  font-weight: 700;
}

body.nr-docs-page .tool-grid,
body.nr-docs-page .grid-3 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 22px;
}

body.nr-docs-page .tool-meta,
body.nr-docs-page .tool-arrow {
  color: var(--text-dim);
  letter-spacing: 0.12em;
}

body.nr-docs-page .tool-title,
body.nr-docs-page .card-title,
body.nr-docs-page .section-title {
  color: var(--text);
  font-weight: 800;
  letter-spacing: -0.03em;
}

body.nr-docs-page .tool-title {
  margin-top: 10px;
  font-size: 1.18rem;
}

body.nr-docs-page .tool-desc {
  margin-top: 10px;
  color: var(--text-soft);
  line-height: 1.72;
}

body.nr-docs-page .docs-section {
  padding: 24px;
}

body.nr-docs-page .section-title {
  margin: 10px 0 0;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
}

body.nr-docs-page .divider {
  height: 1px;
  border: 0;
  background: var(--nr-page-divider);
}

body.nr-docs-page .flow-strip {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: stretch;
  margin-top: 22px;
}

body.nr-docs-page .flow-step {
  display: grid;
  gap: 8px;
}

body.nr-docs-page .flow-step--active {
  border-color: var(--nr-page-accent-border);
  background: var(--nr-page-accent-bg);
}

body.nr-docs-page .flow-step-num {
  letter-spacing: 0.16em;
}

body.nr-docs-page .flow-arrow {
  display: grid;
  place-items: center;
  color: var(--text-dim);
  font-size: 1.6rem;
}

body.nr-docs-page .callout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  margin-top: 22px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--nr-page-info-border);
  background: var(--nr-page-info-bg);
}

body.nr-docs-page .callout-icon {
  font-size: 1.4rem;
}

body.nr-faq-page .search-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  padding: 14px 16px;
}

body.nr-faq-page .search-icon {
  color: var(--text-dim);
}

body.nr-faq-page .faq-search {
  width: 100%;
  min-height: 42px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font-size: 1rem;
}

body.nr-faq-page .faq-category {
  margin-top: 28px;
}

body.nr-faq-page .faq-item {
  overflow: hidden;
  margin-top: 12px;
  border-radius: 18px;
}

body.nr-faq-page .faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 20px;
  border: 0;
  background: transparent;
  color: var(--text);
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

body.nr-faq-page .faq-answer {
  display: none;
  padding: 0 20px 18px;
}

body.nr-faq-page .faq-item.is-open .faq-answer {
  display: block;
}

body.nr-guide-page .step-grid {
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
  margin: 20px 0;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-page-card-bg);
}

body.nr-guide-page .step-num,
body.nr-guide-page .shortcut-key,
body.nr-guide-page .badge-ai,
body.nr-guide-page .badge-pro {
  letter-spacing: 0.12em;
}

body.nr-guide-page .step-num {
  background: var(--nr-page-accent-bg-strong);
  color: var(--accent-soft);
}

body.nr-guide-page .tip-box,
body.nr-guide-page .module-card {
  margin-top: 14px;
  padding: 18px;
  border-radius: 18px;
}

body.nr-guide-page .shortcut-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-top: 1px solid var(--nr-page-divider);
}

body.nr-guide-page .shortcut-row:first-child {
  border-top: 0;
}

body.nr-guide-page .shortcut-key,
body.nr-guide-page .badge-pro {
  color: var(--text);
  background: var(--nr-page-chip-bg-strong);
}

body.nr-guide-page .badge-ai {
  color: var(--accent-soft);
  background: var(--nr-page-accent-bg-strong);
}

body.nr-neural-page .page-shell {
  padding: 132px 0 88px;
}

body.nr-neural-page .content-shell {
  display: grid;
  gap: 24px;
}

body.nr-neural-page .hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 24px;
  padding: 26px;
}

body.nr-neural-page .hero-kicker,
body.nr-neural-page .label {
  letter-spacing: 0.18em;
}

body.nr-neural-page .hero-title {
  margin: 12px 0 0;
  color: var(--text);
  font-size: clamp(2.4rem, 5vw, 4.6rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
}

body.nr-neural-page .hero-title-accent {
  color: var(--accent-soft);
}

body.nr-neural-page .hero-desc,
body.nr-neural-page .hero-meta-copy,
body.nr-neural-page .legend-copy {
  color: var(--text-soft);
  line-height: 1.78;
}

body.nr-neural-page .hero-note,
body.nr-neural-page .hero-links,
body.nr-neural-page .legend-points,
body.nr-neural-page .stats-bar,
body.nr-neural-page .meta-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.nr-neural-page .chip,
body.nr-neural-page .hero-link,
body.nr-neural-page .legend-item {
  gap: 8px;
  min-height: 36px;
  text-decoration: none;
}

body.nr-neural-page .chip-dot,
body.nr-neural-page .legend-swatch {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent);
}

body.nr-neural-page .meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 12px;
}

body.nr-neural-page .meta-card,
body.nr-neural-page .legend-card,
body.nr-neural-page .tip,
body.nr-neural-page .node-modal {
  padding: 16px;
  border-radius: 18px;
}

body.nr-neural-page .meta-card strong {
  display: block;
  margin-top: 8px;
  color: var(--text);
  font-size: 1.5rem;
}

body.nr-neural-page .viz-pane {
  position: relative;
  min-height: 72vh;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-gradient-viz);
  box-shadow: var(--nr-shadow-panel-lg);
}

body.nr-neural-page #scene {
  width: 100%;
  height: 72vh;
  display: block;
}

body.nr-neural-page .viz-overlay,
body.nr-neural-page .viz-legend {
  position: absolute;
  z-index: 2;
}

body.nr-neural-page .viz-overlay {
  left: 18px;
  top: 18px;
  max-width: 420px;
}

body.nr-neural-page .viz-legend {
  right: 18px;
  bottom: 18px;
  width: min(360px, calc(100% - 36px));
}

body.nr-neural-page .tip {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  max-width: 340px;
}

body.nr-neural-page .node-modal {
  position: absolute;
  right: 18px;
  top: 18px;
  z-index: 3;
  width: min(340px, calc(100% - 36px));
}

body.nr-neural-page .node-close {
  position: absolute;
  right: 12px;
  top: 10px;
  border: 0;
  background: transparent;
  color: var(--text-dim);
  font-size: 1.3rem;
  cursor: pointer;
}

body.nr-neural-page .page-footer {
  border: 0;
  padding: 0;
  margin-top: 18px;
}

body.nr-neural-page .page-footer-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding-top: 18px;
  border-top: 1px solid var(--nr-page-divider);
}

body.nr-neural-page .page-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body.nr-contract-page .contract-shell,
body.nr-offer-page .offer-app {
  padding: 118px 0 96px;
}

body.nr-contract-page .workspace,
body.nr-offer-page .offer-app {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 24px;
  align-items: start;
}

body.nr-offer-page .offer-intro {
  padding: 118px 0 20px;
}

body.nr-offer-page .offer-intro-shell,
body.nr-contract-page .workspace,
body.nr-offer-page .sidebar-shell {
  width: 100%;
}

body.nr-offer-page .offer-intro-shell {
  padding: 28px;
  border-radius: 26px;
  border: 1px solid var(--nr-page-card-border);
  background: var(--nr-page-panel-bg);
  box-shadow: var(--nr-page-panel-shadow);
}

body.nr-offer-page .offer-intro-grid,
body.nr-offer-page .offer-intro-lists {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 20px;
}

body.nr-offer-page .offer-intro-title {
  margin: 10px 0 0;
  color: var(--text);
  font-size: clamp(2.4rem, 4.8vw, 4.6rem);
  font-weight: 800;
  line-height: 0.94;
  letter-spacing: -0.06em;
}

body.nr-offer-page .offer-intro-title span {
  color: var(--accent-soft);
}

body.nr-offer-page .offer-intro-eyebrow,
body.nr-offer-page .offer-intro-list-label,
body.nr-contract-page .section-tag,
body.nr-offer-page .section-tag,
body.nr-contract-page .label-mini,
body.nr-offer-page .label-mini {
  letter-spacing: 0.16em;
}

body.nr-offer-page .offer-intro-kicker,
body.nr-offer-page .offer-intro-body p {
  color: var(--text-soft);
  line-height: 1.76;
}

body.nr-offer-page .offer-intro-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

body.nr-offer-page .offer-intro-chip {
  background: var(--nr-page-chip-bg);
  border: 1px solid var(--nr-page-card-border);
  color: var(--text);
  letter-spacing: 0.08em;
}

body.nr-contract-page .editor-panel,
body.nr-offer-page .admin-sidebar {
  position: sticky;
  top: 108px;
}

body.nr-contract-page .editor-stack,
body.nr-offer-page .sidebar-shell {
  display: grid;
  gap: 16px;
}

body.nr-contract-page .side-card,
body.nr-offer-page .side-card {
  padding: 18px;
}

body.nr-contract-page .form-grid,
body.nr-offer-page .form-grid {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

body.nr-contract-page .grid-2,
body.nr-offer-page .grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

body.nr-contract-page .grid-3,
body.nr-offer-page .grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.nr-contract-page .input-group,
body.nr-offer-page .input-group {
  display: grid;
  gap: 8px;
}

body.nr-contract-page .input-group label,
body.nr-offer-page .input-group label {
  color: var(--text-dim);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.nr-contract-page .field,
body.nr-offer-page .field,
body.nr-contract-page .field-file,
body.nr-offer-page .field-file,
body.nr-faq-page .faq-search {
  width: 100%;
  min-height: 44px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--nr-border-mid);
  background: var(--nr-page-card-bg-strong);
  color: var(--text);
  font: inherit;
}

body.nr-contract-page textarea.field,
body.nr-offer-page textarea.field {
  min-height: 116px;
  padding: 12px 14px;
  resize: vertical;
}

body.nr-contract-page .a4-stage,
body.nr-offer-page .a4-stage {
  display: grid;
  place-items: center;
  padding: 8px 0 24px;
}

body.nr-contract-page .a4-page,
body.nr-offer-page .a4-page {
  width: min(210mm, 100%);
  min-height: 297mm;
  padding: 22mm 18mm;
  border-radius: 20px;
  background: var(--nr-paper-bg);
  color: var(--nr-paper-text);
  box-shadow: var(--nr-shadow-paper);
}

body.nr-contract-page .page-inner,
body.nr-offer-page .page-inner {
  display: grid;
  gap: 18px;
}

body.nr-contract-page .doc-card,
body.nr-offer-page .doc-card,
body.nr-offer-page .pay-card,
body.nr-offer-page .legal-card,
body.nr-contract-page .notes-box,
body.nr-offer-page .notes-box,
body.nr-offer-page .detail-frame {
  padding: 16px;
  border-radius: 16px;
  border: 1px solid var(--nr-paper-border-ui);
  background: var(--nr-paper-surface);
}

body.nr-contract-page .doc-grid-2,
body.nr-offer-page .doc-grid-2,
body.nr-offer-page .legal-grid,
body.nr-offer-page .info-grid,
body.nr-offer-page .summary-grid,
body.nr-offer-page .flow-grid {
  display: grid;
  gap: 14px;
}

body.nr-contract-page .doc-grid-2,
body.nr-offer-page .doc-grid-2,
body.nr-offer-page .legal-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.nr-offer-page .summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.nr-offer-page .summary-card {
  padding: 14px;
  border-radius: 14px;
  background: var(--nr-paper-surface-muted);
}

body.nr-offer-page .summary-value,
body.nr-contract-page .page-title,
body.nr-offer-page .page-title,
body.nr-offer-page .total-price {
  color: var(--nr-paper-text);
  font-weight: 800;
}

body.nr-contract-page .page-title,
body.nr-offer-page .page-title {
  margin: 4px 0 0;
  font-size: 1.48rem;
  letter-spacing: -0.03em;
}

body.nr-contract-page .page-note,
body.nr-offer-page .page-note,
body.nr-offer-page .notes-copy,
body.nr-offer-page .legal-copy,
body.nr-offer-page .process-copy {
  color: var(--nr-paper-text-soft);
  line-height: 1.66;
}

body.nr-offer-page .info-row,
body.nr-offer-page .pay-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  padding: 10px 0;
  border-top: 1px solid var(--nr-paper-border-ui);
}

body.nr-offer-page .info-row:first-child,
body.nr-offer-page .pay-row:first-child {
  border-top: 0;
}

body.nr-offer-page .info-label {
  color: var(--nr-paper-text-dim);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.nr-offer-page .info-value,
body.nr-offer-page .pay-val {
  text-align: right;
  color: var(--nr-paper-text);
}

body.nr-offer-page .compare-table {
  width: 100%;
  border-collapse: collapse;
}

body.nr-offer-page .compare-table th,
body.nr-offer-page .compare-table td {
  padding: 10px 12px;
  border: 1px solid var(--nr-paper-border-ui);
  text-align: left;
}

body.nr-offer-page .quality-list,
body.nr-offer-page .risk-list {
  margin: 0;
  padding-left: 18px;
}

body.nr-offer-page .status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--nr-paper-border-ui);
  color: var(--nr-paper-text);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.nr-offer-page .status-pill.is-ok {
  background: var(--nr-surface-success-ui);
}

body.nr-contract-page .signature-area,
body.nr-offer-page .signature-area {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.nr-contract-page .signature-box,
body.nr-offer-page .signature-box {
  min-height: 92px;
  display: grid;
  place-items: end start;
  padding: 16px;
  border-radius: 16px;
  border: 1px dashed var(--nr-paper-border-strong);
}

body.nr-offer-page .luxury-bar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 16px;
  border-radius: 18px;
  background: var(--nr-paper-surface-muted);
}

body.nr-offer-page .total-price {
  font-size: 1.9rem;
  letter-spacing: -0.04em;
}

@media (max-width: 1100px) {
  body.nr-docs-page .docs-wrap,
  body.nr-neural-page .hero,
  body.nr-brand-suggest-page .content,
  body.nr-status-page .hero,
  body.nr-status-page .services,
  body.nr-contract-page .workspace,
  body.nr-offer-page .offer-app,
  body.nr-offer-page .offer-intro-grid,
  body.nr-offer-page .offer-intro-lists {
    grid-template-columns: 1fr;
  }

  body.nr-docs-page .docs-sidebar,
  body.nr-contract-page .editor-panel,
  body.nr-offer-page .admin-sidebar {
    position: static;
    top: auto;
  }

  body.nr-status-page .service-row,
  body.nr-status-page .metrics,
  body.nr-status-page .tech-row,
  body.nr-docs-page .docs-meta,
  body.nr-docs-page .tool-grid,
  body.nr-docs-page .grid-3,
  body.nr-guide-page .step-grid,
  body.nr-offer-page .doc-grid-2,
  body.nr-offer-page .legal-grid,
  body.nr-offer-page .summary-grid,
  body.nr-contract-page .grid-3,
  body.nr-offer-page .grid-3 {
    grid-template-columns: 1fr;
  }

  body.nr-docs-page .flow-strip {
    grid-template-columns: 1fr;
  }

  body.nr-docs-page .flow-arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 760px) {
  body.nr-blog-page .hero,
  body.nr-blog-page article,
  body.nr-status-page main,
  body.nr-brand-suggest-page .container,
  body.nr-changelog-page .container,
  body.nr-neural-page .page-shell,
  body.nr-contract-page .contract-shell,
  body.nr-offer-page .offer-intro,
  body.nr-offer-page .offer-app {
    width: min(calc(100% - 24px), 1480px);
  }

  body.nr-blog-page .features-grid,
  body.nr-status-page .tech-row,
  body.nr-brand-suggest-page .footer-grid,
  body.nr-contract-page .grid-2,
  body.nr-offer-page .grid-2,
  body.nr-contract-page .signature-area,
  body.nr-offer-page .signature-area {
    grid-template-columns: 1fr;
  }

  body.nr-status-page .hero-right {
    justify-items: start;
  }

  body.nr-status-page .service-row {
    grid-template-columns: 1fr;
  }

  body.nr-status-page .svc-latency,
  body.nr-status-page .svc-uptime {
    font-family: var(--mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
}

/* === NR MIGRATED PAGE CSS: END === */

/* === NR HOME PAGE — SHELL TOKENS + #root cap === */
body.nr-home-page {
  --nr-page-max: 1640px;
  --nr-page-pad: clamp(16px, 3vw, 56px);
}
/* Calculator app cap (no in-place rule to edit, defined here) */
body.nr-home-page #root {
  display: block;
  width: 100%;
  max-width: var(--nr-page-max);
  margin-inline: auto;
}
/* Strip nr-p-4 horizontal padding from scroll root on home page so calculator
   content spans edge-to-edge, matching the hero card and proof band. */
body.nr-home-page #nr-scroll-root {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}
/* === NR HOME PAGE — SHELL TOKENS: END === */

/* === NR HOME PROOF SECTION === */
.nr-home-proof {
  position: relative;
  max-width: var(--nr-page-max, 1640px);
  margin-inline: auto;
  border-radius: 18px;
  padding-block: clamp(56px, 8vw, 112px);
  padding-inline: var(--nr-page-pad, clamp(16px, 3vw, 56px));
  background: #0e0f12;
  color: #ececec;
  border: 1px solid rgba(255,255,255,0.06);
}
.nr-home-proof__inner {
}
.nr-home-proof__head {
  font-family: 'Syne','Sora',system-ui,sans-serif;
  font-size: clamp(1.6rem, 2.6vw, 2.4rem);
  line-height: 1.18;
  letter-spacing: -0.018em;
  margin: 0 0 clamp(28px, 4vw, 48px);
  max-width: 24ch;
  color: var(--nr-text-paper);
}
.nr-home-proof__grid {
  display: grid;
  gap: clamp(18px, 2.4vw, 28px);
  grid-template-columns: 1fr;
}
@media (min-width: 860px) {
  .nr-home-proof__grid {
    grid-template-columns: 0.85fr 1fr 0.85fr;
    align-items: stretch;
  }
}

.nr-home-proof__stats,
.nr-home-proof__report,
.nr-home-proof__quote {
  background: #14161b;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  padding: clamp(22px, 2.6vw, 32px);
  display: flex;
  flex-direction: column;
  gap: 18px;
}

/* Stats */
.nr-home-proof__stats { gap: 22px; justify-content: center; }
.nr-home-proof__stat { display: flex; flex-direction: column; gap: 4px; }
.nr-home-proof__num {
  font-family: 'Syne','Sora',system-ui,sans-serif;
  font-size: clamp(2.4rem, 4.4vw, 3.6rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--nr-text-paper);
}
.nr-home-proof__stat--small .nr-home-proof__num {
  font-size: clamp(1.6rem, 2.4vw, 2rem);
  color: var(--nr-accent);
}
.nr-home-proof__lbl {
  font-family: 'JetBrains Mono','IBM Plex Mono',monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: rgba(246,241,235,0.5);
}

/* Report */
.nr-home-proof__report { gap: 14px; }
.nr-home-proof__report-frame {
  position: relative;
  flex: 1;
  min-height: 240px;
  border-radius: 12px;
  background: linear-gradient(140deg, #1a1d24 0%, #0f1115 100%);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.05);
}
.nr-home-proof__report-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  z-index: 2;
}
.nr-home-proof__report-frame img.is-missing { display: none; }
.nr-home-proof__report-mock {
  position: absolute;
  inset: 0;
  padding: clamp(16px, 2vw, 22px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
  font-family: 'JetBrains Mono','IBM Plex Mono',monospace;
  font-size: 12.5px;
  z-index: 1;
}
.nr-home-proof__report-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 8px 12px;
  background: rgba(255,255,255,0.03);
  border-radius: 8px;
}
.nr-home-proof__report-row span {
  color: rgba(246,241,235,0.45);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 10.5px;
}
.nr-home-proof__report-row b {
  color: var(--nr-text-paper);
  font-weight: 600;
  font-size: 13px;
}
.nr-home-proof__ok { color: #6ec46e; }
.nr-home-proof__report-cap {
  font-size: 12px;
  color: rgba(246,241,235,0.5);
  font-family: 'JetBrains Mono','IBM Plex Mono',monospace;
  letter-spacing: 0.06em;
}

/* Quote */
.nr-home-proof__quote { gap: 18px; justify-content: space-between; }
.nr-home-proof__quote blockquote {
  margin: 0;
  font-family: 'Syne','Sora',system-ui,sans-serif;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.5;
  color: var(--nr-text-paper);
  position: relative;
  padding-left: 18px;
}
.nr-home-proof__quote blockquote::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  bottom: 4px;
  width: 2px;
  background: var(--nr-accent);
  border-radius: 2px;
}
.nr-home-proof__author {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.nr-home-proof__author-name {
  font-family: 'Syne','Sora',system-ui,sans-serif;
  font-size: 14px;
  color: var(--nr-text-paper);
  font-weight: 600;
}
.nr-home-proof__author-meta {
  font-family: 'JetBrains Mono','IBM Plex Mono',monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: rgba(246,241,235,0.45);
}
/* === NR HOME PROOF SECTION: END === */
/* Food contact finishes report page */
body.nr-food-contact-page {
  --fc-paper: #e8dfd2;
  --fc-paper-soft: #f2ebde;
  --fc-ink: #141313;
  --fc-ink-soft: rgba(20,19,19,.72);
  --fc-ink-muted: rgba(20,19,19,.52);
  --fc-red: #ed705f;
  --fc-line-dark: rgba(246,241,235,.11);
  --fc-line-paper: rgba(20,19,19,.14);
  background:
    linear-gradient(rgba(255,255,255,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px),
    #060606;
  background-size: 100% 112px, 168px 100%, auto;
}

body.nr-food-contact-page::before {
  opacity: 0;
}

.fc-page {
  width: min(1560px, calc(100% - 48px));
  margin: 0 auto;
  padding: 124px 0 104px;
}

.fc-cover {
  position: relative;
  min-height: clamp(560px, calc(100vh - 132px), 720px);
  min-height: clamp(560px, calc(100svh - 132px), 720px);
  display: grid;
  align-content: end;
  gap: 34px;
  padding: clamp(34px, 5vw, 72px) 0 48px;
  overflow: hidden;
  border-bottom: 1px solid var(--fc-line-dark);
}

.fc-cover::before {
  content: "";
  position: absolute;
  right: 0;
  top: 88px;
  width: min(420px, 30vw);
  height: min(420px, 30vw);
  border: 1px solid rgba(232,223,210,.14);
  background:
    linear-gradient(90deg, transparent 0 18%, rgba(232,223,210,.10) 18% 19%, transparent 19% 58%, rgba(237,112,95,.34) 58% 63%, transparent 63%),
    linear-gradient(180deg, rgba(232,223,210,.08), transparent 58%);
  transform: rotate(-8deg);
  opacity: .68;
}

.fc-cover::after {
  content: "1935/2004";
  position: absolute;
  right: clamp(16px, 4vw, 76px);
  bottom: 138px;
  color: rgba(232,223,210,.09);
  font-family: var(--nr-subpage-heading-font, "Syne", sans-serif);
  font-size: clamp(4rem, 9vw, 10rem);
  font-weight: 900;
  line-height: 1;
}

.fc-cover__topline,
.fc-eyebrow,
.fc-chips span,
.fc-cover__brief p,
.fc-cover__brief dt,
.fc-signal-grid article span,
.fc-aside__label,
.fc-toc-link,
.fc-source-meta span,
.fc-source-meta small,
.fc-article table th {
  font-family: var(--nr-subpage-mono-font, "JetBrains Mono", monospace);
  letter-spacing: 0;
  text-transform: uppercase;
}

.fc-cover__topline {
  position: absolute;
  inset: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--fc-line-dark);
  color: rgba(232,223,210,.48);
  font-size: .72rem;
  font-weight: 850;
}

.fc-cover__topline span:nth-child(2) {
  text-align: center;
}

.fc-cover__topline span:nth-child(3) {
  text-align: right;
}

.fc-cover__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: clamp(30px, 6vw, 92px);
  align-items: end;
}

.fc-eyebrow {
  margin: 0 0 18px;
  color: rgba(237,112,95,.92);
  font-size: .76rem;
  font-weight: 900;
}

.fc-cover h1 {
  max-width: 11.8ch;
  margin: 0;
  color: var(--fc-paper);
  font-family: var(--nr-subpage-heading-font, "Syne", sans-serif);
  font-size: clamp(4.2rem, 9vw, 9.6rem);
  font-weight: 900;
  line-height: .79;
  letter-spacing: 0;
  text-transform: uppercase;
  text-wrap: balance;
}

.fc-cover h1 em {
  display: block;
  color: var(--fc-red);
  font-style: normal;
}

.fc-lead {
  max-width: 64ch;
  margin: 28px 0 0;
  color: rgba(232,223,210,.66);
  font-size: clamp(1rem, 1.35vw, 1.22rem);
  line-height: 1.7;
}

.fc-cover__brief {
  display: grid;
  gap: 18px;
  padding-top: 20px;
  border-top: 1px solid rgba(232,223,210,.22);
}

.fc-cover__brief p {
  margin: 0;
  color: rgba(237,112,95,.9);
  font-size: .74rem;
  font-weight: 900;
}

.fc-cover__brief strong {
  color: var(--fc-paper);
  font-size: clamp(1.35rem, 2.2vw, 2.25rem);
  font-weight: 850;
  line-height: 1.06;
}

.fc-cover__brief dl {
  display: grid;
  gap: 0;
  margin: 4px 0 0;
}

.fc-cover__brief div {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  padding: 13px 0;
  border-top: 1px solid var(--fc-line-dark);
}

.fc-cover__brief dt,
.fc-cover__brief dd {
  margin: 0;
}

.fc-cover__brief dt {
  color: rgba(232,223,210,.44);
  font-size: .72rem;
  font-weight: 850;
}

.fc-cover__brief dd {
  color: rgba(232,223,210,.76);
  font-size: .96rem;
  font-weight: 750;
}

.fc-chips {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.fc-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(232,223,210,.18);
  border-radius: 999px;
  color: rgba(232,223,210,.72);
  font-size: .72rem;
  font-weight: 900;
}

.fc-signal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0 0 34px;
  border-bottom: 1px solid var(--fc-line-dark);
  background: var(--fc-line-dark);
}

.fc-signal-grid article {
  display: grid;
  gap: 20px;
  min-height: 178px;
  padding: clamp(22px, 3vw, 34px);
  background: #060606;
}

.fc-signal-grid article span {
  color: var(--fc-red);
  font-size: .78rem;
  font-weight: 900;
}

.fc-signal-grid article strong {
  max-width: 26ch;
  color: rgba(232,223,210,.86);
  font-size: clamp(1.08rem, 1.7vw, 1.45rem);
  line-height: 1.18;
}

.fc-layout {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  gap: 28px;
  align-items: start;
}

.fc-aside {
  min-width: 0;
}

.fc-aside__inner {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 18px;
  padding: 0;
  border-top: 1px solid rgba(232,223,210,.16);
}

.fc-aside__label {
  margin: 0;
  padding-top: 18px;
  color: rgba(232,223,210,.42);
  font-size: .72rem;
  font-weight: 900;
}

.fc-toc {
  display: grid;
  gap: 0;
  max-height: calc(100vh - 292px);
  overflow: auto;
}

.fc-toc-link {
  display: block;
  padding: 11px 0;
  border-bottom: 1px solid rgba(232,223,210,.085);
  color: rgba(232,223,210,.58);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.36;
  text-decoration: none;
}

.fc-toc-link:hover {
  color: var(--fc-paper);
}

.fc-toc-link--3 {
  color: rgba(232,223,210,.42);
  padding-left: 14px;
}

.fc-aside__note {
  display: grid;
  gap: 7px;
  padding-top: 18px;
  border-top: 1px solid rgba(232,223,210,.12);
  color: rgba(232,223,210,.46);
  font-size: .82rem;
  line-height: 1.55;
}

.fc-aside__note strong {
  color: rgba(232,223,210,.78);
}

.fc-article {
  min-width: 0;
  padding: clamp(30px, 4.6vw, 68px);
  background:
    linear-gradient(90deg, rgba(20,19,19,.04) 1px, transparent 1px),
    var(--fc-paper);
  background-size: 96px 100%, auto;
  color: var(--fc-ink);
  box-shadow: 0 42px 110px rgba(0,0,0,.38);
}

.fc-source-meta {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.2fr);
  gap: 18px 30px;
  margin: 0 0 52px;
  padding: 0 0 24px;
  border-bottom: 1px solid var(--fc-line-paper);
}

.fc-source-meta span,
.fc-source-meta small {
  color: var(--fc-red);
  font-size: .72rem;
  font-weight: 900;
}

.fc-source-meta small {
  align-self: end;
  justify-self: end;
  color: var(--fc-ink-muted);
}

.fc-source-meta strong {
  grid-column: 1 / -1;
  max-width: 74ch;
  color: var(--fc-ink);
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.46;
}

.fc-article :where(h2, h3, h4) {
  scroll-margin-top: 128px;
  color: var(--fc-ink);
  font-family: var(--nr-subpage-heading-font, "Syne", sans-serif);
  letter-spacing: 0;
}

.fc-article h2 {
  margin: 76px 0 24px;
  padding-top: 32px;
  border-top: 1px solid var(--fc-line-paper);
  font-size: clamp(2.25rem, 4.8vw, 5rem);
  font-weight: 900;
  line-height: .93;
  text-transform: uppercase;
}

.fc-article h2:first-of-type {
  margin-top: 0;
}

.fc-article h3 {
  margin: 54px 0 18px;
  font-size: clamp(1.5rem, 2.55vw, 2.65rem);
  font-weight: 870;
  line-height: 1.06;
}

.fc-article h4 {
  margin: 38px 0 14px;
  color: rgba(20,19,19,.82);
  font-size: clamp(1.08rem, 1.45vw, 1.28rem);
  font-weight: 850;
  line-height: 1.28;
}

.fc-article p,
.fc-article li {
  color: var(--fc-ink-soft);
  font-size: clamp(.98rem, 1.05vw, 1.08rem);
  line-height: 1.74;
}

.fc-article p,
.fc-article :where(ul, ol) {
  max-width: 88ch;
}

.fc-article :where(ul, ol) {
  display: grid;
  gap: 10px;
  margin: 18px 0 30px;
  padding-left: 1.35rem;
}

.fc-article h2:first-of-type + ul {
  max-width: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  padding-left: 0;
  list-style: none;
  background: var(--fc-line-paper);
}

.fc-article h2:first-of-type + ul li {
  display: block;
  margin: 0;
  padding: 22px;
  background: var(--fc-paper-soft);
  color: rgba(20,19,19,.74);
  font-size: .94rem;
  line-height: 1.62;
}

.fc-article strong {
  color: var(--fc-ink);
}

.fc-article a {
  color: #b94738;
  text-decoration-color: rgba(185,71,56,.42);
  text-underline-offset: 3px;
}

.fc-article hr {
  height: 1px;
  margin: 44px 0;
  border: 0;
  background: var(--fc-line-paper);
}

.fc-article del {
  color: rgba(20,19,19,.42);
  text-decoration-color: rgba(185,71,56,.55);
  text-decoration-thickness: 2px;
}

.fc-article blockquote {
  margin: 28px 0;
  padding: 18px 22px;
  border-left: 3px solid var(--fc-red);
  background: rgba(237,112,95,.09);
  color: rgba(20,19,19,.78);
}

.fc-table-wrap {
  margin: 28px -18px 36px;
  overflow-x: auto;
  border: 1px solid rgba(20,19,19,.18);
  background: var(--fc-paper-soft);
}

.fc-table {
  width: 100%;
  min-width: 820px;
  border-collapse: collapse;
  color: rgba(20,19,19,.73);
  font-size: .94rem;
}

.fc-table th,
.fc-table td {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(20,19,19,.13);
  border-right: 1px solid rgba(20,19,19,.11);
  text-align: left;
  vertical-align: top;
}

.fc-table th:last-child,
.fc-table td:last-child {
  border-right: 0;
}

.fc-table tr:last-child td {
  border-bottom: 0;
}

.fc-table th {
  background: #141313;
  color: var(--fc-paper);
  font-size: .72rem;
  font-weight: 900;
}

.fc-table td {
  line-height: 1.62;
}

.fc-table tr:nth-child(even) td {
  background: rgba(20,19,19,.035);
}

@media (max-width: 1180px) {
  .fc-cover {
    min-height: auto;
    padding-top: 116px;
  }

  .fc-cover::before,
  .fc-cover::after {
    opacity: .28;
  }

  .fc-cover__grid,
  .fc-layout {
    grid-template-columns: 1fr;
  }

  .fc-cover__brief {
    max-width: 640px;
  }

  .fc-signal-grid {
    grid-template-columns: 1fr;
  }

  .fc-signal-grid article {
    min-height: auto;
  }

  .fc-aside__inner {
    position: static;
  }

  .fc-toc {
    max-height: 280px;
  }
}

@media (max-width: 720px) {
  .fc-page {
    width: min(calc(100% - 24px), 1560px);
    padding: 104px 0 72px;
  }

  .fc-cover {
    gap: 24px;
    padding-bottom: 32px;
  }

  .fc-cover__topline {
    grid-template-columns: 1fr;
    gap: 8px;
    font-size: .68rem;
  }

  .fc-cover__topline span:nth-child(n) {
    text-align: left;
  }

  .fc-cover h1 {
    font-size: clamp(3.1rem, 17vw, 5.5rem);
    line-height: .84;
  }

  .fc-lead {
    font-size: 1rem;
  }

  .fc-cover__brief strong {
    font-size: 1.4rem;
  }

  .fc-cover__brief div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .fc-signal-grid {
    margin-bottom: 22px;
  }

  .fc-signal-grid article {
    padding: 20px 0;
  }

  .fc-layout {
    gap: 18px;
  }

  .fc-article {
    padding: 28px 18px 36px;
    background-size: 64px 100%, auto;
  }

  .fc-source-meta {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .fc-source-meta small {
    justify-self: start;
  }

  .fc-article h2:first-of-type + ul {
    grid-template-columns: 1fr;
  }

  .fc-article h2 {
    margin-top: 52px;
  }

  .fc-table-wrap {
    margin-inline: -8px;
  }

  .fc-table {
    min-width: 760px;
    font-size: .88rem;
  }

  .fc-table th,
  .fc-table td {
    padding: 12px;
  }
}

/* Food contact hero - quiet editorial card inspired by the supplied reference */
body.nr-food-contact-page {
  --fc-paper: #f2f0ea;
  --fc-paper-soft: #f8f5ec;
  --fc-ink: #1f201c;
  --fc-ink-soft: rgba(31,32,28,.72);
  --fc-ink-muted: rgba(31,32,28,.52);
  --fc-red: #d96452;
  --fc-line-dark: rgba(31,32,28,.14);
  --fc-line-paper: rgba(31,32,28,.14);
  background: #b9bea9;
}

.fc-page {
  width: min(1600px, calc(100% - 72px));
  padding: 132px 0 104px;
}

.fc-cover {
  min-height: auto;
  padding: 0;
  border-bottom: 0;
  overflow: visible;
}

.fc-cover::before,
.fc-cover::after {
  content: none;
}

.fc-cover__panel {
  min-height: clamp(560px, 68vh, 760px);
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: clamp(28px, 4vw, 54px);
  padding: clamp(22px, 3vw, 42px);
  border-radius: clamp(22px, 2.4vw, 34px);
  background:
    linear-gradient(130deg, rgba(255,255,255,.72), transparent 44%),
    var(--fc-paper);
  color: var(--fc-ink);
  box-shadow: 0 34px 92px rgba(58,61,50,.16);
}

.fc-cover__bar,
.fc-cover__bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.fc-cover__brand {
  display: inline-block;
  color: var(--fc-ink);
  font-family: var(--nr-subpage-heading-font, "Syne", sans-serif);
  font-size: clamp(3.3rem, 7.8vw, 7.4rem);
  font-weight: 950;
  line-height: .74;
  letter-spacing: 0;
  text-decoration: none;
}

.fc-cover__menu {
  display: grid;
  gap: 2px;
  text-align: right;
  color: var(--fc-ink);
  font-family: "Sora", "Inter", system-ui, sans-serif;
  font-size: clamp(.76rem, 1.05vw, 1.02rem);
  font-weight: 900;
  line-height: .96;
  text-transform: uppercase;
}

.fc-cover__center {
  align-self: center;
  justify-self: center;
  width: min(980px, 100%);
  text-align: center;
}

.fc-eyebrow {
  margin: 0 0 18px;
  color: rgba(31,32,28,.7);
  font-family: "Sora", "Inter", system-ui, sans-serif;
  font-size: clamp(.76rem, 1vw, .95rem);
  font-weight: 500;
  line-height: 1.2;
  text-transform: uppercase;
}

.fc-cover h1 {
  max-width: none;
  margin: 0 auto;
  color: var(--fc-ink);
  font-family: "Sora", "Inter", system-ui, sans-serif;
  font-size: clamp(2.35rem, 4.85vw, 5.8rem);
  font-weight: 430;
  line-height: .94;
  letter-spacing: 0;
  text-transform: none;
  text-wrap: balance;
}

.fc-cover h1 strong {
  font-weight: 900;
}

.fc-cover h1 em {
  display: inline;
  color: inherit;
  font-style: normal;
}

.fc-lead {
  max-width: 64ch;
  margin: 26px auto 0;
  color: rgba(31,32,28,.62);
  font-size: clamp(.96rem, 1.2vw, 1.13rem);
  line-height: 1.65;
  text-wrap: balance;
}

.fc-cover__bottom {
  color: rgba(31,32,28,.55);
  font-family: var(--nr-subpage-mono-font, "JetBrains Mono", monospace);
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.35;
  text-transform: uppercase;
}

.fc-signal-grid {
  gap: 1px;
  margin: 34px 0;
  border: 1px solid rgba(31,32,28,.12);
  background: rgba(31,32,28,.12);
}

.fc-signal-grid article {
  background: rgba(242,240,234,.72);
}

.fc-signal-grid article strong {
  color: rgba(31,32,28,.82);
}

.fc-aside__inner {
  border-top-color: rgba(31,32,28,.18);
}

.fc-aside__label,
.fc-toc-link,
.fc-aside__note,
.fc-aside__note strong {
  color: rgba(31,32,28,.58);
}

.fc-toc-link {
  border-bottom-color: rgba(31,32,28,.12);
}

.fc-toc-link:hover {
  color: var(--fc-ink);
}

.fc-toc-link--3 {
  color: rgba(31,32,28,.44);
}

.fc-aside__note {
  border-top-color: rgba(31,32,28,.13);
}

@media (max-width: 1180px) {
  .fc-cover__panel {
    min-height: 620px;
  }
}

@media (max-width: 720px) {
  .fc-page {
    width: min(calc(100% - 24px), 1600px);
    padding: 102px 0 72px;
  }

  .fc-cover__panel {
    min-height: 560px;
    padding: 22px;
    border-radius: 24px;
  }

  .fc-cover__bar {
    align-items: flex-start;
  }

  .fc-cover__brand {
    font-size: clamp(2.9rem, 15vw, 4.4rem);
  }

  .fc-cover__menu {
    font-size: .74rem;
  }

  .fc-cover h1 {
    font-size: clamp(2.1rem, 10.6vw, 3.8rem);
    line-height: .98;
  }

  .fc-lead {
    font-size: .94rem;
  }

  .fc-cover__bottom {
    display: grid;
    gap: 8px;
    font-size: .68rem;
  }

  .fc-signal-grid {
    margin: 22px 0;
  }

  .fc-signal-grid article {
    padding: 20px;
  }
}

/* Responsive repairs: BHP resin + food-contact report */
body.nr-resin-safety-page,
body.nr-food-contact-page {
  overflow-x: hidden;
}

.rsmp-hero-title,
.rsmp-stack-title,
.rsmp-history h2,
.rsmp-words h2,
.rsmp-motto h2,
.rsmp-word-list,
.fc-cover h1,
.fc-article :where(h2, h3, h4, p, li),
.fc-toc-link,
.fc-table td {
  overflow-wrap: anywhere;
}

.fc-table-wrap {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
}

@media (max-width: 960px) {
  .rsmp-intro,
  .rsmp-stack-section,
  .rsmp-image-copy__text,
  .rsmp-history,
  .rsmp-words,
  .rsmp-quotes,
  .rsmp-motto {
    width: min(100% - 36px, 1120px);
  }

  .rsmp-stack-section,
  .rsmp-history,
  .rsmp-words,
  .rsmp-quotes,
  .rsmp-motto {
    min-height: auto;
  }

  .rsmp-image-copy {
    min-height: auto;
    padding: 92px 0;
  }

  .rsmp-image-copy,
  .rsmp-dark-portrait {
    height: auto;
  }

  .rsmp-intro h2,
  .rsmp-image-copy h2,
  .rsmp-quotes h2 {
    font-size: 3.4rem;
    line-height: 1;
  }

  .rsmp-stack-title,
  .rsmp-history h2,
  .rsmp-words h2,
  .rsmp-motto h2 {
    font-size: 4.2rem;
    line-height: .9;
  }

  .rsmp-word-list {
    font-size: 4rem;
    line-height: .92;
  }

  .fc-page {
    width: min(100% - 32px, 1600px);
  }

  .fc-cover__panel {
    min-height: auto;
  }

  .fc-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .fc-aside__inner {
    position: static;
    gap: 12px;
    padding: 14px 0 0;
  }

  .fc-toc {
    display: flex;
    gap: 8px;
    max-height: none;
    overflow-x: auto;
    padding: 0 0 10px;
    scrollbar-width: thin;
  }

  .fc-toc-link {
    flex: 0 0 min(280px, 78vw);
    min-height: 44px;
    display: grid;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(31,32,28,.12);
    border-radius: 999px;
    background: rgba(242,240,234,.46);
    line-height: 1.25;
  }

  .fc-toc-link--3 {
    padding-left: 12px;
  }

  .fc-aside__note {
    display: none;
  }
}

@media (max-width: 640px) {
  .rsmp-hero {
    min-height: auto;
    place-items: center start;
    padding: 118px 18px 74px;
  }

  .rsmp-name {
    max-width: 100%;
    margin-bottom: 16px;
    letter-spacing: .16em;
    line-height: 1.45;
  }

  .rsmp-hero-title {
    width: 100%;
    text-align: left;
    font-size: 3.35rem;
    line-height: .9;
  }

  .rsmp-silhouette {
    right: -34%;
    bottom: 2%;
    width: 86vw;
    opacity: .26;
  }

  .rsmp-intro,
  .rsmp-stack-section,
  .rsmp-history,
  .rsmp-words,
  .rsmp-quotes,
  .rsmp-motto {
    width: min(100% - 32px, 1120px);
    padding: 64px 0;
  }

  .rsmp-image-copy {
    padding: 64px 0;
  }

  .rsmp-intro h2,
  .rsmp-image-copy h2,
  .rsmp-quotes h2 {
    font-size: 2.35rem;
    line-height: 1.05;
  }

  .rsmp-stack-title,
  .rsmp-history h2,
  .rsmp-words h2,
  .rsmp-motto h2 {
    font-size: 2.8rem;
    line-height: .95;
  }

  .rsmp-word-list {
    font-size: 2.35rem;
    line-height: 1;
  }

  .rsmp-history-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 22px 0;
  }

  .rsmp-history-row small {
    grid-column: auto;
  }

  .rsmp-peach {
    min-height: 290px;
  }

  .rsmp-peach h2 {
    font-size: 5.2rem;
  }

  .rsmp-peach p {
    width: min(100% - 36px, 420px);
    text-align: center;
  }

  .rsmp-links {
    display: grid;
    justify-content: stretch;
    gap: 12px;
    text-align: left;
  }

  .rsmp-links a {
    overflow-wrap: anywhere;
  }

  .fc-page {
    width: min(100% - 20px, 1600px);
    padding: 92px 0 58px;
  }

  .fc-cover__panel {
    gap: 30px;
    padding: 20px;
    border-radius: 22px;
  }

  .fc-cover__bar {
    align-items: flex-start;
    gap: 14px;
  }

  .fc-cover__brand {
    font-size: 3.2rem;
  }

  .fc-cover__menu {
    font-size: .68rem;
    line-height: 1.08;
  }

  .fc-cover__center {
    justify-self: start;
    text-align: left;
  }

  .fc-eyebrow {
    margin-bottom: 14px;
    font-size: .72rem;
  }

  .fc-cover h1 {
    font-size: 2.28rem;
    line-height: 1.02;
    text-wrap: auto;
  }

  .fc-lead {
    margin-top: 18px;
    font-size: .98rem;
    line-height: 1.56;
    text-wrap: auto;
  }

  .fc-cover__bottom {
    gap: 6px;
  }

  .fc-signal-grid {
    margin: 18px 0;
  }

  .fc-signal-grid article {
    gap: 12px;
    padding: 18px;
  }

  .fc-signal-grid article strong {
    max-width: none;
    font-size: 1rem;
  }

  .fc-article {
    padding: 24px 16px 34px;
    box-shadow: 0 26px 60px rgba(58,61,50,.18);
  }

  .fc-source-meta {
    margin-bottom: 34px;
  }

  .fc-article h2 {
    margin: 46px 0 18px;
    padding-top: 26px;
    font-size: 2.1rem;
    line-height: 1;
  }

  .fc-article h3 {
    margin: 38px 0 14px;
    font-size: 1.55rem;
  }

  .fc-article h4 {
    margin: 28px 0 12px;
    font-size: 1.08rem;
  }

  .fc-article p,
  .fc-article li {
    font-size: .98rem;
    line-height: 1.66;
  }

  .fc-article :where(ul, ol) {
    padding-left: 1.05rem;
  }

  .fc-article h2:first-of-type + ul li {
    padding: 18px;
  }

  .fc-table-wrap {
    margin-inline: -16px;
    border-inline: 0;
  }

  .fc-table {
    min-width: 700px;
    font-size: .86rem;
  }
}

@media (max-width: 380px) {
  .rsmp-hero-title {
    font-size: 3rem;
  }

  .rsmp-stack-title,
  .rsmp-history h2,
  .rsmp-words h2,
  .rsmp-motto h2 {
    font-size: 2.45rem;
  }

  .rsmp-word-list {
    font-size: 2.05rem;
  }

  .fc-cover h1 {
    font-size: 2rem;
  }

  .fc-cover__brand {
    font-size: 2.75rem;
  }
}

/* ═══════════════════════════════════════════════════════════════════
 * NR ADVISOR — przebudowany w stylu bento-glass (2026-05-15)
 * ═══════════════════════════════════════════════════════════════════ */

.nr-advisor-section {
  margin: 24px 0 8px;
  padding: 32px clamp(24px, 4vw, 48px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 0%, rgba(194, 106, 97, 0.06), transparent 50%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.01));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: #e8e3d6;
  font-family: "Inter", system-ui, sans-serif;
  position: relative;
}

.nr-advisor-header {
  margin: 0 0 8px;
  max-width: 720px;
  padding-bottom: 18px;
}

.nr-advisor-eyebrow {
  display: inline-block;
  margin-bottom: 12px;
  padding: 5px 12px;
  border: 1px solid rgba(194, 106, 97, 0.4);
  border-radius: 999px;
  color: #d68a82;
  background: rgba(194, 106, 97, 0.08);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nr-advisor-title {
  margin: 0 0 10px;
  color: #f3eee2;
  font-family: "Inter", system-ui, sans-serif;
  font-size: clamp(1.5rem, 2.4vw, 1.9rem);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.nr-advisor-lead {
  margin: 0;
  max-width: 580px;
  color: rgba(232, 227, 214, 0.6);
  font-size: 0.9rem;
  line-height: 1.55;
  font-weight: 400;
}

/* Karty bloków — bento style z glass effect */
.nr-advisor-section > .nr-advisor-block:first-of-type {
  margin-top: 8px;
}


/* ─── BLOCK — CV/document style: pełna szerokość, poziome linie ─── */
#root .nr-advisor-block,
.nr-advisor-block {
  display: block;
  margin: 0;
  padding: 28px 0 24px;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(232, 227, 214, 0.14);
  border-radius: 0;
  position: relative;
  transition: none;
  box-shadow: none;
}

#root .nr-advisor-block:hover,
.nr-advisor-block:hover {
  transform: none;
  box-shadow: none;
  background: transparent;
}

.nr-advisor-block:last-of-type {
  border-bottom: 1px solid rgba(232, 227, 214, 0.14);
}

/* Header — index + tytuł duży + count po prawej, w jednej linii */
#root .nr-advisor-block__head,
.nr-advisor-block__head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin: 0 0 14px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

/* Index "01" — mały, dyskretny mono numer */
.nr-advisor-block__index {
  display: inline-block;
  padding: 0;
  background: transparent;
  border: 0;
  color: rgba(232, 227, 214, 0.4);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  flex-shrink: 0;
  font-variant-numeric: tabular-nums;
}

.nr-advisor-block__title {
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  color: #f3eee2;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.nr-advisor-block__count {
  display: none;  /* ukryte — info "N uwag" nie potrzebne na górze */
}

.nr-advisor-paragraph {
  margin: 0;
  max-width: 100%;
  color: rgba(232, 227, 214, 0.82);
  font-size: 1rem;
  line-height: 1.7;
  font-weight: 400;
  letter-spacing: 0;
  text-wrap: pretty;
}

.nr-advisor-details {
  margin: 14px 0 0;
}

.nr-advisor-details__summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  list-style: none;
  padding: 5px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  color: rgba(232, 227, 214, 0.6);
  font-family: "Inter", system-ui, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  transition: all 0.15s ease;
}

.nr-advisor-details__summary::-webkit-details-marker { display: none; }

.nr-advisor-details__summary::after {
  content: "▾";
  font-size: 10px;
  margin-left: 2px;
  transition: transform 0.2s ease;
}

.nr-advisor-details[open] .nr-advisor-details__summary {
  border-color: rgba(194, 106, 97, 0.35);
  background: rgba(194, 106, 97, 0.1);
  color: #d68a82;
}

.nr-advisor-details[open] .nr-advisor-details__summary::after {
  transform: rotate(180deg);
}

.nr-advisor-details__summary:hover {
  border-color: rgba(232, 227, 214, 0.18);
  color: #f3eee2;
  background: rgba(255, 255, 255, 0.06);
}

.nr-advisor-list {
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.nr-advisor-item {
  display: flex;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.015);
  align-items: flex-start;
}

.nr-advisor-item__sev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 9px;
  border-radius: 999px;
  font-family: "Inter", system-ui, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
  min-width: 64px;
  height: fit-content;
  margin-top: 1px;
}

.nr-advisor-item--critical .nr-advisor-item__sev {
  background: rgba(240, 98, 91, 0.14);
  color: #f0625b;
  border: 1px solid rgba(240, 98, 91, 0.3);
}
.nr-advisor-item--warning .nr-advisor-item__sev {
  background: rgba(216, 146, 74, 0.14);
  color: #e9a566;
  border: 1px solid rgba(216, 146, 74, 0.3);
}
.nr-advisor-item--caution .nr-advisor-item__sev {
  background: rgba(200, 154, 82, 0.14);
  color: #d4a767;
  border: 1px solid rgba(200, 154, 82, 0.3);
}
.nr-advisor-item--info .nr-advisor-item__sev {
  background: rgba(127, 174, 121, 0.14);
  color: #9bc196;
  border: 1px solid rgba(127, 174, 121, 0.3);
}

.nr-advisor-item__text {
  flex: 1 1 auto;
  color: rgba(232, 227, 214, 0.86);
  font-size: 0.88rem;
  line-height: 1.55;
  font-weight: 400;
  text-wrap: pretty;
}

/* Mobile — kompaktowanie */
@media (max-width: 720px) {
  .nr-advisor-section {
    padding: 18px 12px 8px;
  }
  .nr-advisor-block {
    padding: 22px 0 18px;
  }
  .nr-advisor-block__head {
    flex-wrap: wrap;
    gap: 8px 12px;
  }
  .nr-advisor-block__title {
    font-size: 1.15rem;
    flex: 1 1 100%;
    order: 2;
  }
  .nr-advisor-block__index {
    order: 1;
  }
  .nr-advisor-block__count {
    order: 1;
    margin-left: auto;
  }
  .nr-advisor-item {
    flex-direction: column;
    gap: 6px;
  }
  .nr-advisor-item__sev {
    align-self: flex-start;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE QUICK WINS — 2026-05-18
   - #1: Auto-zoom fix (iOS Safari zooms input gdy font-size < 16px)
   - #2: Touch target min 44px (Apple HIG)
   - #3: Sticky CTA bar (Zapisz / Eksport) na dole mobile
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* ─── #1: zapobiegnij auto-zoom Safari ─── */
  input[type="text"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="password"],
  input[type="url"],
  input[type="date"],
  input:not([type]),
  select,
  textarea {
    font-size: 16px;
  }

  /* ─── #2: touch targets ≥ 44px ─── */
  button,
  [role="button"],
  .nr-btn,
  .nr-export-v2__action,
  .nr-export-btn,
  .nr-rec-btn,
  .nr-ps-btn,
  .nr-ps-chip {
    min-height: 44px;
  }
  /* Małe inline icon buttons (np. close × w modalach) — wyjątek */
  .nr-ps-close {
    min-height: auto;
  }

  /* ═══════════════════════════════════════════════════════════════════
     MOBILE SPACING / PADDING POLISH — 2026-05-18
     (kontynuacja w tym samym @media — bez zagnieżdżonego @media) */
  /* Karty bento — desktop nr-p-6 (24px) / nr-p-5 (20px) → mobile 14px */
  .nr-card.nr-p-6,
  .nr-glass-card.nr-p-6 {
    padding: 14px;
  }
  .nr-card.nr-p-5,
  .nr-glass-card.nr-p-5 {
    padding: 14px;
  }
  .nr-card.nr-p-4,
  .nr-glass-card.nr-p-4 {
    padding: 12px;
  }

  /* Gap między bento rows w głównym grid'u */
  .nr-page-shell {
    gap: 12px;
  }
  /* Pb-20 (80px) za duże między ostatnią sekcją a stopką na mobile */
  .nr-pb-20 {
    padding-bottom: 16px;
  }

  /* Margin utility scaling — mb-6=24px za dużo na mobile, mb-4=16px też pojaśniamy */
  .nr-mb-6 { margin-bottom: 16px; }
  .nr-mb-4 { margin-bottom: 12px; }
  .nr-mt-6 { margin-top: 16px; }
  .nr-mt-4 { margin-top: 12px; }
  .nr-mb-8 { margin-bottom: 20px; }
  .nr-mt-8 { margin-top: 20px; }

  /* Huge headings (np. hero numbers) — desktop 120px = bez sensu na mobile */
  .nr-text-huge {
    font-size: clamp(40px, 14vw, 64px);
  }
  .nr-text-3xl {
    font-size: 22px;
  }
  .nr-text-2xl {
    font-size: 18px;
  }

  /* Eksport v2 — clamp padding-inline już istnieje, ale wymuśmy dolny limit */
  .nr-export-v2 {
    padding: 28px 18px;
    min-height: auto;
    gap: 24px;
  }
  /* "Dobierz żywicę" rec section padding */
  .nr-rec-section,
  .nr-ui-rec {
    padding-left: 14px;
    padding-right: 14px;
  }

  /* Modal eksportu/Studio — radius mniejszy żeby nie wyglądał ciasno */
  .nr-ps-modal {
    border-radius: 16px;
    padding: 18px;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   MOBILE / EDIT MODE FIXES — 2026-05-18 (v3)
   - #1a: Mobile (≤768px) — decorative floating widgets off
   - #1b: Edit mode (immersive) — floating widgets off REGARDLESS of viewport
   - #4: ZATWIERDŹ obok RESET (col 3 row 3) — overall toolbar grid o wiersz krótszy
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* .nr-ai-status ZOSTAJE widoczny na mobile (nowy "pill" powiadomienia) —
     ukrywamy tylko dekoracyjne floating widgety */
  .dz-shape {
    display: none;
  }
}

/* W edit mode (immersive) zawsze ukrywamy dekoracyjny widget — desktop też. */
.nr-app-root.nr-immersive-on .dz-shape {
  display: none;
}

/* #4: ZATWIERDŹ wskakuje w col 3 row 3 (obok AI TOOL/RESET).
   Spacer .nr-toolbar-sp ukrywamy w mobile dock żeby nie psuł grid'u.
   Status div .nr-toolbar-status zostaje — auto-flow daje mu pierwszą wolną komórkę. */
@media (max-width: 768px) {
  .nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--wood.active .nr-toolbar-sp {
    display: none;
  }
  .nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--wood.active .nr-toolbar-btn.confirm {
    grid-column-start: 3;
    grid-row-start: 3;
    width: 100%;
  }

  /* Form toolbar (Zaznacz formę) — 3 kolumny, ZATWIERDŹ wpada w 3. kolumnę obok RĘKA/RESET */
  .nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .nr-toolbar-dock.is-mobile-dock .nr-toolbar-row--form.active .nr-toolbar-btn.confirm {
    width: 100%;
  }

  /* IZO preview view — center content pionowo (góra/dół) zamiast wisieć u góry */
  .nr-iso-view-wrap {
    align-items: center;
    justify-content: center;
    min-height: 70vh;
  }

  /* Top toolbar canvasu — wszystko w jednej linii, spójny styling buttonów i segmentu */
  .nr-edit-topbar {
    flex-wrap: nowrap;
    justify-content: flex-end;
    max-width: calc(100% - 16px);
    gap: 5px;
    align-items: center;
  }
  .nr-edit-topbar > button {
    font-size: 10px;
    letter-spacing: .04em;
    padding: 0 10px;
    height: 30px;
    border-radius: 8px;
    white-space: nowrap;
    flex: 0 1 auto;
    min-width: 0;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }
  /* Segment ZDJĘCIE / IZO — w mobile ma wyglądać identycznie jak inne buttony (bez pill wrappera) */
  .nr-edit-topbar .nr-seg {
    display: flex;
    gap: 5px;
    padding: 0;
    background: transparent;
    border: 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    border-radius: 0;
    height: auto;
    flex: 0 0 auto;
  }
  .nr-edit-topbar .nr-seg .nr-segBtn {
    height: 30px;
    font-size: 10px;
    letter-spacing: .04em;
    padding: 0 10px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(15,17,24,.55);
    color: rgba(255,255,255,.55);
    font-weight: 900;
    text-transform: uppercase;
    white-space: nowrap;
    line-height: 1;
    box-shadow: none;
  }
  .nr-edit-topbar .nr-seg .nr-segBtn.is-active {
    background: rgba(74,222,128,.14);
    border-color: rgba(74,222,128,.55);
    color: #86efac;
    box-shadow: inset 0 0 0 1px rgba(74,222,128,.28);
  }
}

/* Desktop też — wyśrodkuj IZO preview pionowo */
.nr-iso-view-wrap {
  align-items: center;
  justify-content: center;
  min-height: 60vh;
}

/* Finish database: bottom SEO links */
body.nr-lacquers-page .nr-seo-link-panel{
  margin-top:42px;
  padding:28px 0 34px;
  border:0;
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

body.nr-lacquers-page .nr-seo-link-panel .tds-legend-title{
  margin:0 0 18px;
  color:rgba(255,85,38,.78);
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:12px;
  margin:0;
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related__item{
  min-height:128px;
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  color:rgba(244,242,238,.84);
  text-decoration:none;
  overflow:hidden;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related__item:hover,
body.nr-lacquers-page .nr-seo-link-panel .rp-related__item:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(255,85,38,.42);
  background:rgba(255,85,38,.08);
  outline:none;
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related__item span,
body.nr-lacquers-page .nr-seo-link-panel .rp-related__item small{
  display:block;
  font-family:"Syne Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related__item span{
  color:rgba(255,85,38,.78);
  font-size:.62rem;
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related__item strong{
  display:block;
  color:rgba(248,246,241,.94);
  font-size:1.04rem;
  font-weight:850;
  line-height:1.18;
  letter-spacing:0;
}

body.nr-lacquers-page .nr-seo-link-panel .rp-related__item small{
  color:rgba(228,225,219,.52);
  font-size:.64rem;
  line-height:1.45;
}

@media (max-width:1100px){
  body.nr-lacquers-page .nr-seo-link-panel .rp-related{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:900px){
  body.nr-lacquers-page .tds-legend.nr-seo-link-panel{
    display:block;
  }
}

@media (max-width:620px){
  body.nr-lacquers-page .nr-seo-link-panel{
    margin-top:28px;
    padding:24px 0 28px;
  }

  body.nr-lacquers-page .nr-seo-link-panel .rp-related{
    grid-template-columns:1fr;
  }

  body.nr-lacquers-page .nr-seo-link-panel .rp-related__item{
    min-height:auto;
  }
}
