@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Open+Sans:wght@400;600;700&display=swap');
.figma-make-app-wrapper{isolation:isolate}
/* tokens/fonts.css */
/* TPM Article Design System — Webfonts
 * Montserrat (headings) + Open Sans (body), loaded from Google Fonts — the
 * exact families the live article repos use (src/index.css). Montserrat
 * weights 400-800; Open Sans 400-700. */


/* tokens/colors.css */
/* TPM Article Design System — Palette
 * Exactly SEVEN semantic colour pairs (draw.io / Miro sticky scheme).
 * Light = fill, dark = border / icon / accent / heading-in-block.
 * The HEX values are the source of truth. HSL mirrors are derived from them.
 * Icons are ALWAYS coloured, never grayscale. One semantic hue per category —
 * colour encodes meaning, never decoration. NO inline hex in components other
 * than these exact values. */

.figma-make-app-root {
  /* ---- Solid (border / heading / icon / accent) ---- */
  --p-gray: #666666;
  --p-blue: #6c8ebf;
  --p-green: #82b366;
  --p-red: #b85450;
  --p-yellow: #d79b00;
  --p-purple: #9673a6;
  --p-darkblue: #23445d;

  /* ---- Light (fill / tinted container background) ---- */
  --p-gray-light: #f5f5f5;
  --p-blue-light: #ddeaff;
  --p-green-light: #d5e8d4;
  --p-red-light: #f8cecc;
  --p-yellow-light: #fff2cc;
  --p-purple-light: #e1d5e7;
  --p-darkblue-light: #bac8d3;

  /* ---- HSL mirrors (for shadcn-style hsl(var(--x)) consumers) ---- */
  --palette-gray: 0 0% 40%;
  --palette-gray-light: 0 0% 96%;
  --palette-blue: 210 33% 59%;
  --palette-blue-light: 217 100% 93%;
  --palette-green: 100 33% 55%;
  --palette-green-light: 100 38% 87%;
  --palette-red: 0 38% 52%;
  --palette-red-light: 0 65% 89%;
  --palette-yellow: 40 100% 42%;
  --palette-yellow-light: 45 100% 90%;
  --palette-purple: 273 22% 55%;
  --palette-purple-light: 273 30% 87%;
  --palette-darkblue: 207 44% 25%;
  --palette-darkblue-light: 207 22% 77%;

  /* ---- Semantic aliases ---- */
  --background: #ffffff;       /* page + card surface */
  --foreground: #334155;       /* body text (slate-700-ish) */
  --heading: var(--p-darkblue);/* all headings & titles */
  --border-default: var(--p-gray); /* default 2px border colour */
  --muted-foreground: #666666;
  --accent: var(--p-blue);     /* primary concept / interactive */
}

/* tokens/typography.css */
/* TPM Article Design System — Typography
 * Headings: Montserrat (font-heading). Titles font-extrabold, p-darkblue,
 *   with a single accent <u> underline on ONE key word.
 * Body: Open Sans (font-body / font-sans), 16px / leading-relaxed. */

.figma-make-app-root {
  --font-heading: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Open Sans', system-ui, sans-serif;

  /* Type scale (px) — editorial long-form */
  --text-h1: 36px;   /* article title  (text-4xl, extrabold) */
  --text-h2: 24px;   /* section title  (text-2xl, bold) */
  --text-h3: 18px;   /* diagram / block title (text-lg, bold) */
  --text-h4: 16px;   /* card title (text-base, bold) */
  --text-body: 16px; /* body copy (text-base) */
  --text-sm: 14px;   /* secondary / card body / captions */
  --text-xs: 12px;   /* diagram labels */

  /* Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* Line heights */
  --leading-tight: 1.2;
  --leading-relaxed: 1.65;
}

/* tokens/spacing.css */
/* TPM Article Design System — Layout, spacing, surfaces (HARD rules)
 * Single centred column, fixed 893px. Flat design: NO shadows, NO decorative
 * gradients. 2px borders. Outer containers rounded-2xl, inner blocks rounded-xl.
 * NO internal scroll anywhere. */

.figma-make-app-root {
  /* Container */
  --article-max-width: 893px;   /* HARD — never 4xl, never 1400px */
  --article-padding-x: 16px;    /* px-4 */
  --article-padding-y: 40px;    /* py-10 */
  --section-gap: 32px;          /* gap-8 between sections */
  --block-gap: 16px;            /* gap-4 within a section */

  /* Spacing scale (Tailwind-aligned, px) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;

  /* Borders & radii */
  --border-width: 2px;          /* HARD — all borders 2px */
  --radius-outer: 16px;         /* rounded-2xl — outer containers */
  --radius-inner: 12px;         /* rounded-xl — inner blocks */
  --radius-sm: 8px;             /* rounded-lg — icon squares, chips */

  /* Flat — no shadow tokens by design. The only sanctioned depth is a subtle
   * lift on a floating/overlay element inside a diagram (see DESIGN_SYSTEM §3.4). */
  --lens-shadow: 0 8px 24px rgba(35, 68, 93, 0.12);
}

/* Article shell helper — single centred column, natural page scroll only. */
.figma-make-app-root .tpm-article {
  width: 100%;
  max-width: var(--article-max-width);
  margin-inline: auto;
  padding-inline: var(--article-padding-x);
  padding-block: var(--article-padding-y);
  display: flex;
  flex-direction: column;
  gap: var(--section-gap);
  font-family: var(--font-body);
  color: var(--foreground);
}

/* tokens/base.css */
/* TPM Article Design System — base element defaults.
 * Minimal resets so specimen cards and components paint correctly. */

.figma-make-app-root * {
  box-sizing: border-box;
}

.figma-make-app-root .body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: var(--leading-relaxed);
  -webkit-font-smoothing: antialiased;
}

.figma-make-app-root h1, .figma-make-app-root h2, .figma-make-app-root h3, .figma-make-app-root h4, .figma-make-app-root h5, .figma-make-app-root h6 {
  font-family: var(--font-heading);
  color: var(--heading);
  margin: 0;
}

.figma-make-app-root p {
  margin: 0;
}

/* Article titles carry a single accent underline on one key word. */
.figma-make-app-root h1 u, .figma-make-app-root h2 u {
  text-decoration-thickness: 3px;
  text-underline-offset: 4px;
}

.figma-make-app-root a {
  color: var(--accent);
}

/* ---- article <style> block ---- */

  .figma-make-app-root h2 u, .figma-make-app-root h3 u{text-decoration-color:#D79B00;text-decoration-thickness:.12em;text-underline-offset:.15em;text-decoration-skip-ink:none}
  .figma-make-app-root a{color:var(--p-blue);text-decoration:underline;text-underline-offset:.15em}
  .figma-make-app-root a:hover{color:var(--p-darkblue)}
  @keyframes accReveal{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  /* Скролл-проявление: секвенсер входов — мягкое проявление снизу вверх (fade+translateY),
     карточки чуть глубже, ряды ключевых терминов — пружинный поп. Раскладка top→down. */
  /* Нормативные входы: T1 — карточки (scale .95→1), T2 — ряды/панели снизу (y40→0), T3 — внутренние плашки (scale .8→1, spring). */
  @keyframes t1Scale{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
  @keyframes t2Up{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
  @keyframes t3Pop{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:none}}
  @keyframes softIn{from{opacity:0}to{opacity:1}}
  @keyframes drawStroke{from{stroke-dashoffset:var(--sd,40)}to{stroke-dashoffset:0}}
  @media (prefers-reduced-motion: reduce){.figma-make-app-root *{animation:none !important;transition:none !important}}
  /* ===== Изобр. 23.1 — цепочка шагов фазы «Оценка» ===== */
  .figma-make-app-root .sm-svg{width:100%;height:auto;max-width:900px;display:block;margin:0 auto}
  .figma-make-app-root .sm-scroll{max-width:100%}
  .figma-make-app-root .sm-hint{display:none}
  @keyframes smPulse{0%, 100%{opacity:0;transform:scale(1)}50%{opacity:.42;transform:scale(1.1)}}
  .figma-make-app-root .sm-halo{transform-box:fill-box;transform-origin:center;animation:smPulse 2.4s ease-in-out infinite}
  @media (max-width:599px){.figma-make-app-root .sm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.figma-make-app-root .sm-svg{min-width:880px}.figma-make-app-root .sm-hint{display:block;font-size:11px;color:#8a97a8;text-align:center;padding:6px 0 0}}
  @media (prefers-reduced-motion:reduce){.figma-make-app-root .sm-halo{animation:none;opacity:.22}}
  /* ===== Изобр. 23.5 — рабочее место ===== */
  .figma-make-app-root .ws-cap{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#8a8a8a;margin:0}
  .figma-make-app-root .ws-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .figma-make-app-root .ws-tot{border:2px solid;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:1px}
  .figma-make-app-root .ws-tot .l{font-family:'Montserrat',sans-serif;font-weight:700;font-size:11px;letter-spacing:.02em}
  .figma-make-app-root .ws-tot .v{font-family:'Montserrat',sans-serif;font-weight:800;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
  .figma-make-app-root .ws-tot .s{font-size:10.5px;color:#888}
  .figma-make-app-root .ws-tot--reg{border-color:var(--p-blue);background:var(--p-blue-light)}
  .figma-make-app-root .ws-tot--reg .l, .figma-make-app-root .ws-tot--reg .v{color:var(--p-darkblue)}
  .figma-make-app-root .ws-tot--one{border-color:var(--p-purple);background:var(--p-purple-light)}
  .figma-make-app-root .ws-tot--one .l, .figma-make-app-root .ws-tot--one .v{color:#5f3f72}
  .figma-make-app-root .ws-recon{display:flex;align-items:center;gap:8px;border:2px solid var(--p-green);background:var(--p-green-light);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;color:#3d6b2e}
  .figma-make-app-root .ws-recon svg{flex:0 0 auto}
  .figma-make-app-root .ws-list{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
  .figma-make-app-root .ws-li{display:flex;align-items:center;gap:9px;font-size:13px;color:#334155}
  .figma-make-app-root .ws-li .st{width:18px;height:18px;border-radius:50%;flex:0 0 auto;display:flex;align-items:center;justify-content:center}
  .figma-make-app-root .ws-li--done .st{background:var(--p-green-light);border:2px solid var(--p-green)}
  .figma-make-app-root .ws-li--wait .st{background:#fff;border:2px dashed var(--p-gray)}
  .figma-make-app-root .ws-li--wait{color:#94a3b8}
  .figma-make-app-root .ws-li .tag{margin-left:auto;font-size:10px;font-weight:700;font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.03em}
  .figma-make-app-root .ws-li--done .tag{color:var(--p-green)}
  .figma-make-app-root .ws-li--wait .tag{color:var(--p-gray)}
  .figma-make-app-root .ws-tbl{display:grid;grid-template-columns:auto 1fr 1fr;border:2px solid var(--p-darkblue);border-radius:10px;overflow:hidden}
  .figma-make-app-root .ws-tbl>div{padding:4px 9px;font-size:11.5px;border-top:1px solid #e6e6e6;border-left:1px solid #e6e6e6}
  .figma-make-app-root .ws-tbl>div:nth-child(3n+1){border-left:none}
  .figma-make-app-root .ws-th{background:var(--p-darkblue);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;border-top:none!important;border-left-color:rgba(255,255,255,.25)!important}
  .figma-make-app-root .ws-th.ws-num{color:#fff}
  .figma-make-app-root .ws-lvl{font-family:'Montserrat',sans-serif;font-weight:800;color:var(--p-darkblue)}
  .figma-make-app-root .ws-num{text-align:right;font-variant-numeric:tabular-nums;color:#334155;position:relative}
  .figma-make-app-root .ws-mark::after{content:"";position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:var(--p-yellow);box-shadow:0 0 0 1.5px #fff}
  .figma-make-app-root .ra{animation:wsBlinkA 6s ease-in-out infinite}
  .figma-make-app-root .rb{animation:wsBlinkB 6s ease-in-out infinite}
  @keyframes wsBlinkA{0%, 42%{background:var(--p-blue-light)}52%, 100%{background:#fff}}
  @keyframes wsBlinkB{0%, 42%{background:#fff}52%, 94%{background:var(--p-blue-light)}100%{background:#fff}}
  .figma-make-app-root .ws-marknote{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#8a7500}
  .figma-make-app-root .ws-marknote i{width:9px;height:9px;border-radius:50%;background:var(--p-yellow);flex:0 0 auto}
  .figma-make-app-root .ws-read{border:2px solid var(--p-blue);background:var(--p-blue-light);border-radius:10px;padding:5px 12px;display:flex;align-items:center;gap:12px;animation:wsPop 6s ease-in-out infinite;transform-origin:left center}
  .figma-make-app-root .ws-read .rl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--p-darkblue);line-height:1.15;flex:0 0 auto}
  .figma-make-app-root .ws-read .stage{position:relative;height:26px;flex:1}
  .figma-make-app-root .ws-read .fig{position:absolute;left:0;top:0;height:26px;display:flex;align-items:center;gap:9px}
  .figma-make-app-root .ws-read .fig .lvl{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;color:var(--p-blue)}
  .figma-make-app-root .ws-read .fig .amt{font-family:'Montserrat',sans-serif;font-weight:800;font-size:23px;line-height:1;color:var(--p-darkblue);font-variant-numeric:tabular-nums}
  .figma-make-app-root .ws-read .fa{animation:wsShowA 6s ease-in-out infinite}
  .figma-make-app-root .ws-read .fb{animation:wsShowB 6s ease-in-out infinite}
  @keyframes wsShowA{0%, 40%{opacity:1;transform:translateY(0)}50%, 92%{opacity:0;transform:translateY(-8px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes wsShowB{0%, 40%{opacity:0;transform:translateY(8px)}50%, 92%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(8px)}}
  @keyframes wsPop{0%, 40%{transform:scale(1)}46%{transform:scale(1.03)}52%, 90%{transform:scale(1)}96%{transform:scale(1.03)}100%{transform:scale(1)}}
  .figma-make-app-root .ws-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:11.5px;color:#555}
  .figma-make-app-root .ws-legend b{display:inline-flex;align-items:center;gap:7px;font-weight:600}
  .figma-make-app-root .ws-legend i.dm{display:inline-block;width:11px;height:11px;background:var(--p-purple-light);border:2px solid var(--p-purple);transform:rotate(45deg);flex:0 0 auto}
  .figma-make-app-root .ws-legend i.ln{display:inline-block;width:22px;height:0;border-top:4px solid var(--p-blue);border-radius:2px;flex:0 0 auto}
  .figma-make-app-root .ws-tab-btn{display:inline-flex;align-items:center;gap:7px;font-family:'Montserrat',sans-serif;font-weight:700;font-size:12.5px;border-radius:8px;padding:7px 13px;border:1.5px solid var(--p-darkblue);cursor:pointer;white-space:nowrap;line-height:1;transition:background .2s ease,color .2s ease}
  .figma-make-app-root .ws-tab-btn span{flex:0 0 auto;width:17px;height:17px;border-radius:50%;border:1.5px solid currentColor;display:flex;align-items:center;justify-content:center;font-size:10px}
  .figma-make-app-root .mreg{display:grid;grid-template-columns:auto 1.25fr 1.25fr 1fr;border:2px solid var(--p-darkblue);border-radius:12px;overflow:hidden;background:#fff}
  .figma-make-app-root .mreg>div{padding:10px 12px;font-size:13px;line-height:1.35;border-top:2px solid #eef1f4;border-left:2px solid #eef1f4;display:flex;align-items:center}
  .figma-make-app-root .mreg>div:nth-child(4n+1){border-left:none}
  .figma-make-app-root .mreg .rh{background:var(--p-darkblue);color:#fff;font-family:'Montserrat',sans-serif;font-weight:700;font-size:11.5px;border-top:none;border-left-color:rgba(255,255,255,.22)}
  .figma-make-app-root .mreg .rl{font-family:'Montserrat',sans-serif;font-weight:800;font-size:15px;color:var(--p-darkblue)}
  .figma-make-app-root .flow3{display:grid;grid-template-columns:1fr auto 1.05fr auto 1fr;gap:10px;align-items:stretch}
  .figma-make-app-root .flow3 .conn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
  @media (max-width:1023px){.figma-make-app-root [data-screen-label]{max-width:100%}.figma-make-app-root [data-slot]{min-height:110px}.figma-make-app-root [data-watermark]{display:none}}
  @media (max-width:599px){
    .figma-make-app-root [data-strip="path"]{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start}
    .figma-make-app-root [data-strip="path"] > div{flex-shrink:0}
    .figma-make-app-root [data-strip="path"] > div:nth-child(even){flex:0 0 auto !important;min-width:78px !important}
    .figma-make-app-root [data-strip="path"]+[data-m="scrollhint"]{display:block !important;font-size:11px;color:#8a97a8;text-align:center;padding:6px 0 0}
    .figma-make-app-root [data-slot]{padding:16px;font-size:13px}
    .figma-make-app-root [data-twocol]{grid-template-columns:1fr !important}
    .figma-make-app-root [data-badge]{display:none}
    .figma-make-app-root [data-conc]{grid-template-columns:1fr !important}
    .figma-make-app-root [data-termhead]{flex-wrap:wrap}
    .figma-make-app-root [style*="gap:18px"][style*="align-items:flex-start"], .figma-make-app-root [style*="gap: 18px"][style*="align-items: flex-start"]{flex-direction:column !important;align-items:stretch !important}
    .figma-make-app-root [style*="width:84px"][style*="height:84px"], .figma-make-app-root [style*="width: 84px"][style*="height: 84px"]{margin-left:auto !important;margin-right:auto !important}
    .figma-make-app-root [data-termcard]{flex-direction:column !important;align-items:stretch !important}
    .figma-make-app-root [data-termicon]{margin-left:auto !important;margin-right:auto !important}
    .figma-make-app-root .flow3{grid-template-columns:1fr;gap:14px}
    .figma-make-app-root .flow3 .conn svg{transform:rotate(90deg)}
    .figma-make-app-root [data-fieldrow]{grid-template-columns:1fr !important}
    .figma-make-app-root [data-badge]{display:none !important}
    .figma-make-app-root .lt-ev{max-width:118px;padding:2px 6px;font-size:10px}
    .figma-make-app-root .mreg{grid-template-columns:auto minmax(0,1.2fr) minmax(0,1.2fr) minmax(0,1fr)}
    .figma-make-app-root .mreg>div{padding:7px 7px;font-size:11px;line-height:1.28}
    .figma-make-app-root .mreg .rh{font-size:10px}
    .figma-make-app-root .mreg .rl{font-size:13px}
    .figma-make-app-root .ws-tot{padding:7px 8px}
    .figma-make-app-root .ws-tot .l{font-size:9.5px;line-height:1.2;overflow-wrap:anywhere}
    .figma-make-app-root .ws-tot .v{font-size:19px}
    .figma-make-app-root .ws-tot .s{font-size:9.5px}
    /* Сжатие отступов: рамки фигур вокруг вложенных композиций и выноски с левым акцентом */
    .figma-make-app-root figure > div:not([data-ws]){padding:5px !important}
    .figma-make-app-root [style*="border-left:4px solid"], .figma-make-app-root [style*="border-left: 4px solid"]{padding-left:5px !important}
  }
  .figma-make-app-root .lt-ev{position:absolute;text-align:right;border-radius:8px;max-width:150px;padding:3px 8px;font-size:11px;line-height:1.25;transition:all .25s ease;z-index:4}

/* ===== s117/s121 mobile laws (hooks present on this page only) ===== */
@media (max-width: 599px){
  .figma-make-app-root .figma-make-app-root div:has(> [data-m96]){flex-direction:column !important;align-items:stretch !important}
  .figma-make-app-root .figma-make-app-root [data-m96]{margin:auto !important}
  .figma-make-app-root .figma-make-app-root [data-macc]{flex-direction:column !important}
  .figma-make-app-root .figma-make-app-root [data-macc] > [data-m84]{margin:auto !important}
}
