:root {
      /* Satori Bold */
      --background: #fffdf7;
      --surface: #ffffff;

      --sidebar-background: #073b3a;
      --sidebar-background-deep: #052d2c;
      --sidebar-text: #fffdf7;
      --sidebar-muted: #a7c7c0;
      --sidebar-border: rgba(255, 255, 255, 0.14);

      --text: #10201f;
      --text-secondary: #40534f;
      --text-muted: #71807d;

      --border: #d7dfdb;
      --border-strong: #10201f;

      --accent: #f4bd45;
      --accent-strong: #d79312;
      --accent-soft: #fff0bd;

      --danger: #ee6a5f;
      --danger-soft: #fff0ed;

      --mint: #bce5d4;
      --mint-soft: #ecf8f3;

      --sidebar-width: 300px;
      --header-height: 68px;
      --content-width: 860px;

      --radius: 14px;
      --radius-large: 20px;
      --shadow-offset: 6px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      background: var(--background);
      color: var(--text);
      font-family:
        Inter,
        ui-sans-serif,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
      font-size: 16px;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
    }

    ::selection {
      background: var(--accent);
      color: var(--text);
    }

    /*
    |--------------------------------------------------------------------------
    | App shell
    |--------------------------------------------------------------------------
    */

    .layout {
      min-height: 100vh;
    }

    .sidebar {
      position: fixed;
      inset: 0 auto 0 0;
      width: var(--sidebar-width);

      display: flex;
      flex-direction: column;

      background:
        linear-gradient(
          180deg,
          var(--sidebar-background) 0%,
          var(--sidebar-background-deep) 100%
        );
      border-right: 2px solid var(--text);
      z-index: 40;
    }

    /*
    |--------------------------------------------------------------------------
    | Site identity
    |--------------------------------------------------------------------------
    */

    .site-header {
      min-height: 84px;
      display: flex;
      align-items: center;
      padding: 18px 22px;
      border-bottom: 1px solid var(--sidebar-border);
    }

    .site-home {
      width: 100%;
      min-width: 0;

      display: flex;
      align-items: center;
      gap: 13px;

      color: var(--sidebar-text);
      text-decoration: none;
    }

    .site-mark {
      width: 42px;
      height: 42px;
      flex: 0 0 auto;

      display: flex;
      align-items: center;
      justify-content: center;

      border: 2px solid var(--text);
      border-radius: 11px;

      background: var(--accent);
      color: var(--text);

      box-shadow: 3px 3px 0 var(--text);

      font-size: 18px;
      font-weight: 850;
      letter-spacing: -0.04em;
    }

    .site-logo {
      display: block;
      max-width: 128px;
      max-height: 42px;
      flex: 0 0 auto;
      object-fit: contain;
      object-position: left center;
    }

    .site-name {
      margin: 0;
      min-width: 0;
      overflow: hidden;

      color: var(--sidebar-text);
      font-size: 18px;
      font-weight: 800;
      line-height: 1.2;
      letter-spacing: -0.025em;

      text-overflow: ellipsis;
      white-space: nowrap;
    }

    /*
    |--------------------------------------------------------------------------
    | Documentation search
    |--------------------------------------------------------------------------
    */

    .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;
    }

    .docs-search-wrapper {
      padding: 18px 16px 0;
    }

    .docs-search {
      position: relative;
    }

    .docs-search-icon {
      position: absolute;
      top: 50%;
      left: 13px;

      width: 16px;
      height: 16px;

      transform: translateY(-50%);

      color: var(--sidebar-muted);

      pointer-events: none;

      transition: color 120ms ease;
    }

    .docs-search-input {
      appearance: none;

      width: 100%;
      height: 42px;

      padding: 0 13px 0 39px;

      border: 1px solid var(--sidebar-border);
      border-radius: 10px;

      outline: none;

      background: rgba(255, 255, 255, 0.07);
      color: var(--sidebar-text);

      font: inherit;
      font-size: 13px;
      font-weight: 550;
      line-height: 1;

      transition:
        background 120ms ease,
        border-color 120ms ease,
        box-shadow 120ms ease;
    }

    .docs-search-input::placeholder {
      color: var(--sidebar-muted);
      opacity: 1;
    }

    .docs-search-input:focus {
      border-color: var(--accent);

      background: rgba(255, 255, 255, 0.11);

      box-shadow:
        0 0 0 3px rgba(244, 189, 69, 0.16);
    }

    .docs-search:focus-within .docs-search-icon {
      color: var(--accent);
    }

    .docs-search-input::-webkit-search-decoration {
      display: none;
    }

    /*
    |--------------------------------------------------------------------------
    | Navigation
    |--------------------------------------------------------------------------
    */

    .nav-wrapper {
      flex: 1;
      overflow-y: auto;
      padding: 28px 16px;
    }

    .nav-label {
      margin: 0 10px 13px;
      color: var(--accent);
      font-size: 11px;
      font-weight: 850;
      letter-spacing: 0.13em;
      text-transform: uppercase;
    }

    .nav {
      display: flex;
      flex-direction: column;
      gap: 5px;
    }

    .nav a {
      position: relative;
      display: block;
      padding: 10px 12px;

      border: 1px solid transparent;
      border-radius: 10px;

      color: #dcebe7;
      text-decoration: none;

      font-size: 14px;
      font-weight: 550;
      line-height: 1.4;

      transition:
        transform 120ms ease,
        background 120ms ease,
        border-color 120ms ease,
        color 120ms ease;
    }

    .nav a:hover {
      transform: translateX(2px);
      background: rgba(255, 255, 255, 0.08);
      border-color: rgba(255, 255, 255, 0.12);
      color: #ffffff;
    }

    .nav a.active {
      background: var(--accent);
      border-color: var(--text);
      color: var(--text);
      box-shadow: 3px 3px 0 var(--text);
      font-weight: 800;
    }

    /*
    |--------------------------------------------------------------------------
    | Sidebar footer
    |--------------------------------------------------------------------------
    */

    .sidebar-footer {
      padding: 18px 24px;
      border-top: 1px solid var(--sidebar-border);
      color: var(--sidebar-muted);
      font-size: 12px;
      font-weight: 550;
    }

    .sidebar-footer::before {
      content: "↗";
      display: inline-block;
      margin-right: 6px;
      color: var(--accent);
      font-weight: 900;
    }

    .sidebar-footer a {
      color: inherit;
      text-decoration: none;
    }

    .sidebar-footer a:hover {
      color: #ffffff;
    }

    /*
    |--------------------------------------------------------------------------
    | Main content
    |--------------------------------------------------------------------------
    */

    .main {
      min-height: 100vh;
      margin-left: var(--sidebar-width);
    }

    .mobile-header {
      display: none;
    }

    .content-shell {
      width: 100%;
      max-width: calc(var(--content-width) + 150px);
      margin: 0 auto;
      padding: 62px 72px 110px;
    }

    /*
    |--------------------------------------------------------------------------
    | Page hero
    |--------------------------------------------------------------------------
    */

    .page-header {
      position: relative;
      isolation: isolate;
      overflow: hidden;

      margin-bottom: 52px;
      padding: 42px 46px 46px;

      border: 2px solid var(--text);
      border-radius: var(--radius-large);

      background: var(--sidebar-background);
      color: #ffffff;
      box-shadow:
        var(--shadow-offset)
        var(--shadow-offset)
        0
        var(--accent);
    }

    .page-header::after {
      content: "";
      position: absolute;
      z-index: -1;
      top: -65px;
      right: -42px;

      width: 190px;
      height: 190px;

      border: 2px solid rgba(255, 255, 255, 0.18);
      border-radius: 50%;

      box-shadow:
        0 0 0 28px rgba(255, 255, 255, 0.035),
        0 0 0 58px rgba(255, 255, 255, 0.025);
    }

    .page-kicker {
      display: inline-flex;
      align-items: center;
      gap: 8px;

      margin-bottom: 15px;

      color: var(--accent);
      font-size: 12px;
      font-weight: 850;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    .page-kicker::before {
      content: "";
      width: 10px;
      height: 10px;
      border: 2px solid var(--text);
      border-radius: 2px;
      background: var(--accent);
      box-shadow: 2px 2px 0 var(--text);
    }

    .page-title {
      max-width: 760px;
      margin: 0;

      color: #ffffff;

      font-size: clamp(42px, 5vw, 62px);
      font-weight: 850;
      line-height: 0.98;
      letter-spacing: -0.055em;
    }

    /*
    |--------------------------------------------------------------------------
    | Knowledge-base homepage
    |--------------------------------------------------------------------------
    | The hero deliberately sits outside .home-content-shell so it fills
    | the whole public-site area to the right of the sidebar.
    */

    /*
    | Full-width hero
    */

    /*
    | Homepage shell
    | The normal sidebar/mobile header remain available for articles and
    | search pages, but the homepage uses its own full-width front door.
    */

    .homepage .sidebar {
      display: none;
    }

    .homepage .mobile-header {
      display: none;
    }

    .homepage .mobile-overlay {
      display: none !important;
    }

    .homepage .main {
      margin-left: 0;
    }

    /*
    | Homepage brand bar
    */

    .home-topbar {
      position: absolute;
      z-index: 4;

      top: 0;
      left: 0;
      right: 0;

      display: flex;
      align-items: center;

      height: 86px;
      padding: 0 clamp(24px, 4vw, 58px);

      border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    .home-brand {
      display: inline-flex;
      align-items: center;
      gap: 12px;

      min-width: 0;

      color: #ffffff;
      text-decoration: none;
    }

    .home-brand-logo {
      display: block;

      max-width: 150px;
      max-height: 42px;

      object-fit: contain;
      object-position: left center;
    }

    .home-brand-mark {
      width: 40px;
      height: 40px;
      flex: 0 0 auto;

      display: inline-flex;
      align-items: center;
      justify-content: center;

      border: 2px solid #10201f;
      border-radius: 11px;

      background: #f4bd45;
      color: #10201f;

      box-shadow:
        3px 3px 0 #10201f;

      font-size: 17px;
      font-weight: 800;
      line-height: 1;
    }

    .home-brand-name {
      overflow: hidden;

      color: #ffffff;

      font-size: 17px;
      font-weight: 700;
      line-height: 1.2;
      letter-spacing: -0.025em;

      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .home-hero {
      position: relative;
      isolation: isolate;
      overflow: hidden;

      width: 100%;
      min-height: 410px;

      display: flex;
      align-items: center;
      justify-content: center;

      margin: 0;
      padding: 126px 48px 76px;

      border: 0;
      border-radius: 0;

      /*
      | Satori Bold
      | Deep teal + cream + mustard + mint.
      | Chunky graphic shapes rather than the softer purple/blue atmosphere.
      */
      background:
        radial-gradient(
          circle at 87% 14%,
          rgba(244, 189, 69, 0.98) 0 54px,
          transparent 55px
        ),
        radial-gradient(
          circle at 87% 14%,
          transparent 0 82px,
          rgba(255, 253, 247, 0.16) 83px 85px,
          transparent 86px
        ),
        radial-gradient(
          circle at 11% 83%,
          rgba(188, 229, 212, 0.19) 0 112px,
          transparent 113px
        ),
        linear-gradient(
          135deg,
          #073b3a 0%,
          #07504c 54%,
          #0b6059 100%
        );

      color: #fffdf7;

      box-shadow:
        inset 0 -3px 0 rgba(16, 32, 31, 0.32);

      text-align: center;
    }

    /*
    | Satori Bold graphic texture:
    | cream/yellow dots + strong diagonal poster lines.
    */

    .home-hero::before {
      content: "";
      position: absolute;
      z-index: -1;
      inset: 0;

      background:
        radial-gradient(
          circle,
          rgba(255, 253, 247, 0.20) 0 2px,
          transparent 2.5px
        ) 0 0 / 34px 34px,
        linear-gradient(
          116deg,
          transparent 0 18%,
          rgba(244, 189, 69, 0.10) 18.2% 18.8%,
          transparent 19% 100%
        ),
        linear-gradient(
          116deg,
          transparent 0 71%,
          rgba(188, 229, 212, 0.09) 71.2% 71.8%,
          transparent 72% 100%
        );

      mask-image:
        linear-gradient(
          90deg,
          rgba(0, 0, 0, 0.55),
          rgba(0, 0, 0, 0.08) 42%,
          rgba(0, 0, 0, 0.10) 62%,
          rgba(0, 0, 0, 0.48)
        );

      opacity: 0.72;
      pointer-events: none;
    }

    /*
    | Large offset "sticker" shape along the lower edge.
    | This deliberately echoes the heavy shadows / offset blocks used
    | elsewhere in the Bold theme without putting a box around the hero.
    */

    .home-hero::after {
      content: "";
      position: absolute;
      z-index: -1;

      width: 330px;
      height: 112px;

      right: -58px;
      bottom: -34px;

      border: 3px solid #10201f;
      border-radius: 26px;

      background: #f4bd45;

      box-shadow:
        -14px -14px 0 rgba(188, 229, 212, 0.88);

      transform: rotate(-7deg);

      pointer-events: none;
    }

    .home-hero-inner {
      position: relative;
      z-index: 2;

      width: 100%;
      max-width: 840px;
      margin: 0 auto;
    }

    .home-title {
      max-width: 760px;
      margin: 0 auto;

      color: #ffffff;

      font-size: clamp(44px, 5.4vw, 66px);
      font-weight: 800;
      line-height: 1;
      letter-spacing: -0.052em;

      text-wrap: balance;
    }

    .home-subtitle {
      max-width: 620px;
      margin: 17px auto 0;

      color: rgba(255, 255, 255, 0.78);

      font-size: 16px;
      font-weight: 500;
      line-height: 1.6;
    }

    /*
    | Hero search
    */

    .home-search-wrap {
      width: min(760px, 100%);
      margin: 32px auto 0;
    }

    .home-search {
      display: flex;
      align-items: center;

      width: 100%;
      min-height: 70px;

      padding: 7px;

      border: 1px solid rgba(255, 255, 255, 0.92);
      border-radius: 999px;

      background: rgba(255, 255, 255, 0.985);

      box-shadow:
        0 0 0 6px rgba(255, 253, 247, 0.11),
        0 0 0 9px rgba(244, 189, 69, 0.09),
        0 20px 46px rgba(2, 29, 28, 0.25);

      transition:
        transform 150ms ease,
        box-shadow 150ms ease;
    }

    .home-search:focus-within {
      transform: translateY(-2px);

      box-shadow:
        0 0 0 6px rgba(255, 253, 247, 0.14),
        0 0 0 10px rgba(244, 189, 69, 0.14),
        0 26px 56px rgba(2, 29, 28, 0.29);
    }

    .home-search-icon {
      width: 21px;
      height: 21px;

      flex: 0 0 auto;

      margin-left: 18px;

      color: #596b79;
    }

    .home-search-input {
      appearance: none;

      min-width: 0;
      flex: 1;

      height: 54px;
      padding: 0 15px;

      border: 0;
      outline: 0;

      background: transparent;
      color: #17263a;

      font: inherit;
      font-size: 15px;
      font-weight: 520;
    }

    .home-search-input::placeholder {
      color: #788696;
      opacity: 1;
    }

    .home-search-button {
      appearance: none;

      width: 54px;
      height: 54px;
      flex: 0 0 auto;

      display: flex;
      align-items: center;
      justify-content: center;

      padding: 0;

      border: 0;
      border-radius: 999px;

      border: 2px solid #10201f;

      background: #f4bd45;

      color: #10201f;

      box-shadow:
        3px 3px 0 #10201f;

      cursor: pointer;

      transition:
        transform 120ms ease,
        box-shadow 120ms ease,
        filter 120ms ease;
    }

    .home-search-button:hover {
      transform: scale(1.045);

      box-shadow:
        5px 5px 0 #10201f;

      filter: brightness(1.03);
    }

    .home-search-button:focus-visible {
      outline: 3px solid rgba(255, 255, 255, 0.94);
      outline-offset: 3px;
    }

    .home-search-button svg {
      width: 21px;
      height: 21px;
    }

    .home-search-preview {
      opacity: 0.94;
    }

    .home-search-preview .home-search-input {
      cursor: default;
    }

    /*
    | Content beneath hero
    */

    .home-content-shell {
      width: 100%;
      max-width: 1240px;
      margin: 0 auto;
      padding: 42px 48px 104px;
    }

    .home-section-header {
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 24px;

      margin: 0 2px 19px;
    }

    .home-section-title {
      margin: 0;

      color: var(--text);

      font-size: 21px;
      font-weight: 760;
      line-height: 1.25;
      letter-spacing: -0.025em;
    }

    .home-section-meta {
      margin: 0;

      color: var(--text-muted);

      font-size: 13px;
      font-weight: 540;
    }

    .home-topic-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 15px;
    }

    .home-topic-card {
      position: relative;

      min-width: 0;
      min-height: 154px;

      display: flex;
      flex-direction: column;
      align-items: flex-start;

      padding: 20px 20px 18px;

      border: 1px solid var(--border);
      border-radius: 17px;

      background:
        linear-gradient(
          180deg,
          rgba(255, 255, 255, 0.98),
          rgba(255, 255, 255, 0.92)
        );

      color: inherit;

      box-shadow:
        0 1px 2px rgba(16, 33, 63, 0.025),
        0 10px 26px rgba(16, 33, 63, 0.045);

      text-decoration: none;

      transition:
        transform 140ms ease,
        border-color 140ms ease,
        box-shadow 140ms ease,
        background 140ms ease;
    }

    .home-topic-card:hover {
      transform: translateY(-3px);

      border-color: rgba(82, 104, 154, 0.22);

      background: #ffffff;

      box-shadow:
        0 2px 5px rgba(16, 33, 63, 0.04),
        0 18px 36px rgba(16, 33, 63, 0.085);
    }

    .home-topic-card:focus-visible {
      outline: 3px solid var(--accent-soft);
      outline-offset: 3px;
    }

    .home-topic-icon {
      width: 46px;
      height: 46px;

      display: flex;
      align-items: center;
      justify-content: center;

      margin-bottom: 18px;

      border: 0;
      border-radius: 13px;

      background:
        linear-gradient(
          135deg,
          rgba(82, 123, 255, 0.12),
          rgba(118, 87, 232, 0.11) 56%,
          rgba(24, 191, 174, 0.11)
        );

      color: #315aa8;

      box-shadow: none;
    }

    .home-topic-icon svg {
      width: 22px;
      height: 22px;
    }

    .home-topic-copy {
      min-width: 0;
      padding-right: 22px;
    }

    .home-topic-title {
      margin: 0 0 5px;

      color: var(--text);

      font-size: 16px;
      font-weight: 720;
      line-height: 1.35;
      letter-spacing: -0.018em;

      overflow-wrap: anywhere;
    }

    .home-topic-count {
      margin: 0;

      color: var(--text-muted);

      font-size: 13px;
      font-weight: 500;
      line-height: 1.4;
    }

    .home-topic-arrow {
      position: absolute;
      top: 19px;
      right: 18px;

      color: var(--text-muted);

      font-size: 18px;
      font-weight: 650;
      line-height: 1;

      transition:
        transform 120ms ease,
        color 120ms ease;
    }

    .home-topic-card:hover .home-topic-arrow {
      transform: translateX(3px);
      color: var(--accent-strong);
    }

    /*
    |--------------------------------------------------------------------------
    | Homepage theme: Professional
    |--------------------------------------------------------------------------
    */

    .theme-professional.homepage .home-topbar {
      border-bottom-color: rgba(255, 255, 255, 0.14);
    }

    .theme-professional.homepage .home-brand-mark {
      background: rgba(255, 255, 255, 0.13);
    }


    .theme-professional .home-hero {
      min-height: 410px;

      border: 0;
      border-radius: 0;

      background:
        radial-gradient(
          circle at 78% 72%,
          rgba(177, 111, 255, 0.46),
          transparent 30%
        ),
        radial-gradient(
          circle at 21% 25%,
          rgba(55, 155, 255, 0.31),
          transparent 31%
        ),
        radial-gradient(
          circle at 50% 118%,
          rgba(89, 222, 207, 0.18),
          transparent 38%
        ),
        linear-gradient(
          125deg,
          #092d68 0%,
          #0b469f 42%,
          #3049bd 70%,
          #6e49ad 110%
        );

      box-shadow:
        inset 0 -1px 0 rgba(255, 255, 255, 0.08);
    }

    .theme-professional .home-title {
      font-weight: 730;
      letter-spacing: -0.048em;
    }

    .theme-professional .home-subtitle {
      color: rgba(255, 255, 255, 0.80);
      font-weight: 450;
    }

    .theme-professional .home-search {
      border-color: rgba(255, 255, 255, 0.84);

      box-shadow:
        0 0 0 6px rgba(255, 255, 255, 0.10),
        0 0 39px rgba(158, 113, 255, 0.33),
        0 21px 50px rgba(18, 59, 143, 0.24);
    }

    .theme-professional .home-search:focus-within {
      box-shadow:
        0 0 0 6px rgba(255, 255, 255, 0.13),
        0 0 46px rgba(167, 122, 255, 0.44),
        0 27px 58px rgba(18, 59, 143, 0.26);
    }

    .theme-professional .home-search-input {
      color: #18375f;
      font-weight: 480;
    }

    .theme-professional .home-search-button {
      background:
        linear-gradient(
          135deg,
          var(--brand-blue),
          var(--brand-violet) 60%,
          var(--brand-teal)
        );

      color: #ffffff;
    }

    .theme-professional .home-content-shell {
      max-width: 1260px;
      padding: 42px 48px 104px;
    }

    .theme-professional .home-section-title {
      color: #173560;
      font-weight: 700;
    }

    .theme-professional .home-section-meta {
      font-weight: 500;
    }

    .theme-professional .home-topic-card {
      border-color: #dce5f4;

      background:
        linear-gradient(
          180deg,
          #ffffff,
          #fcfdff
        );

      box-shadow:
        0 1px 2px rgba(22, 48, 88, 0.02),
        0 10px 26px rgba(36, 84, 180, 0.045);
    }

    .theme-professional .home-topic-card:hover {
      border-color: #cbdcff;

      box-shadow:
        0 2px 5px rgba(22, 48, 88, 0.03),
        0 18px 38px rgba(36, 84, 180, 0.09);
    }

    .theme-professional .home-topic-icon {
      background:
        linear-gradient(
          135deg,
          rgba(36, 107, 254, 0.12),
          rgba(118, 87, 232, 0.11) 56%,
          rgba(24, 191, 174, 0.12)
        );

      color: var(--brand-blue-deep);
    }

    .theme-professional .home-topic-title {
      color: #173560;
      font-weight: 660;
    }

    .theme-professional .home-topic-count {
      color: #72809a;
      font-weight: 460;
    }

    .theme-professional .home-topic-arrow {
      color: #8a98b1;
    }

    .theme-professional .home-topic-card:hover .home-topic-arrow {
      color: var(--brand-blue);
    }

    /*
    |--------------------------------------------------------------------------
    | Homepage theme: Calm
    |--------------------------------------------------------------------------
    */

    .theme-calm.homepage .home-topbar {
      border-bottom-color: rgba(255, 255, 255, 0.13);
    }

    .theme-calm.homepage .home-brand-mark {
      background: rgba(255, 255, 255, 0.11);
    }


    .theme-calm .home-hero {
      min-height: 390px;

      border: 0;
      border-radius: 0;

      background:
        radial-gradient(
          circle at 78% 72%,
          rgba(139, 171, 158, 0.20),
          transparent 30%
        ),
        radial-gradient(
          circle at 20% 24%,
          rgba(134, 164, 190, 0.17),
          transparent 31%
        ),
        linear-gradient(
          140deg,
          #37584e 0%,
          #4f7468 48%,
          #66877b 76%,
          #748a86 120%
        );

      box-shadow:
        inset 0 -1px 0 rgba(255, 255, 255, 0.08);
    }

    .theme-calm .home-hero::after {
      background:
        radial-gradient(
          ellipse at 50% 0%,
          rgba(210, 225, 218, 0.22),
          rgba(177, 203, 192, 0.09) 38%,
          transparent 70%
        );
    }

    .theme-calm .home-title {
      color: #ffffff;

      font-size: clamp(41px, 5vw, 59px);
      font-weight: 650;
      letter-spacing: -0.044em;
    }

    .theme-calm .home-subtitle {
      color: rgba(255, 255, 255, 0.76);
      font-weight: 430;
    }

    .theme-calm .home-search {
      border-color: rgba(255, 255, 255, 0.78);

      background: #fffefa;

      box-shadow:
        0 0 0 6px rgba(255, 255, 255, 0.08),
        0 16px 38px rgba(42, 66, 57, 0.18);
    }

    .theme-calm .home-search:focus-within {
      box-shadow:
        0 0 0 6px rgba(255, 255, 255, 0.11),
        0 20px 44px rgba(42, 66, 57, 0.21);
    }

    .theme-calm .home-search-input {
      color: var(--text);
      font-weight: 470;
    }

    .theme-calm .home-search-button {
      background:
        linear-gradient(
          135deg,
          #527d6c,
          #73998a
        );

      color: #ffffff;

      box-shadow:
        0 8px 18px rgba(77, 118, 102, 0.20);
    }

    .theme-calm .home-content-shell {
      max-width: 1180px;
      padding: 46px 52px 108px;
    }

    .theme-calm .home-section-title {
      font-weight: 650;
    }

    .theme-calm .home-section-meta {
      font-weight: 450;
    }

    .theme-calm .home-topic-card {
      border-color: #d8e1dc;

      background: #fffefa;

      box-shadow:
        0 1px 2px rgba(54, 70, 62, 0.02),
        0 9px 23px rgba(54, 70, 62, 0.035);
    }

    .theme-calm .home-topic-card:hover {
      border-color: #c6d7cf;

      box-shadow:
        0 14px 30px rgba(54, 70, 62, 0.075);
    }

    .theme-calm .home-topic-icon {
      background: #e4eee8;
      color: var(--accent-strong);
    }

    .theme-calm .home-topic-title {
      font-weight: 620;
    }

    .theme-calm .home-topic-count {
      font-weight: 430;
    }

    .theme-calm .home-topic-arrow {
      color: #8b9891;
    }

    .theme-calm .home-topic-card:hover .home-topic-arrow {
      color: var(--accent-strong);
    }

    /*
    | Homepage responsive
    */

    @media (max-width: 1120px) {
      .home-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 900px) {
      .home-hero,
      .theme-professional .home-hero,
      .theme-calm .home-hero {
        min-height: 370px;
        padding: 62px 30px 66px;
      }

      .home-content-shell,
      .theme-professional .home-content-shell,
      .theme-calm .home-content-shell {
        padding: 36px 30px 84px;
      }
    }

    @media (max-width: 700px) {
      .home-topic-grid {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 600px) {
      .home-topbar {
        height: 72px;
        padding: 0 18px;
      }

      .home-brand-logo {
        max-width: 128px;
        max-height: 36px;
      }

      .home-brand-mark {
        width: 36px;
        height: 36px;
        border-radius: 10px;
      }

      .home-brand-name {
        font-size: 15px;
      }

      .home-hero,
      .theme-professional .home-hero,
      .theme-calm .home-hero {
        min-height: 0;

        margin: 0;
        padding: 108px 20px 50px;

        border-radius: 0;
      }

      .home-title,
      .theme-professional .home-title,
      .theme-calm .home-title {
        font-size: clamp(35px, 11vw, 45px);
      }

      .home-subtitle {
        margin-top: 12px;

        font-size: 14px;
        line-height: 1.55;
      }

      .home-search-wrap {
        margin-top: 25px;
      }

      .home-search {
        min-height: 60px;
        padding: 5px;
      }

      .home-search-icon {
        width: 18px;
        height: 18px;
        margin-left: 14px;
      }

      .home-search-input {
        height: 48px;
        padding: 0 10px;

        font-size: 14px;
      }

      .home-search-button {
        width: 48px;
        height: 48px;
      }

      .home-content-shell,
      .theme-professional .home-content-shell,
      .theme-calm .home-content-shell {
        padding: 30px 18px 64px;
      }

      .home-section-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;

        margin-bottom: 16px;
      }

      .home-topic-card {
        min-height: 132px;
        padding: 18px;
      }

      .home-topic-icon {
        width: 42px;
        height: 42px;

        margin-bottom: 15px;
      }

      .home-topic-arrow {
        top: 18px;
        right: 17px;
      }
    }

    /*
    |--------------------------------------------------------------------------
    | Search results page
    |--------------------------------------------------------------------------
    */

    .search-results {
      width: 100%;
      max-width: var(--content-width);
    }

    .search-page-form {
      display: flex;
      align-items: center;
      gap: 12px;

      margin: 0 0 26px;
    }

    .search-page-input {
      appearance: none;

      min-width: 0;
      flex: 1;
      height: 50px;

      padding: 0 16px;

      border: 2px solid var(--text);
      border-radius: 12px;

      outline: none;

      background: var(--surface);
      color: var(--text);

      font: inherit;
      font-size: 15px;
      font-weight: 600;

      transition:
        border-color 120ms ease,
        box-shadow 120ms ease,
        background 120ms ease;
    }

    .search-page-input::placeholder {
      color: var(--text-muted);
      opacity: 1;
    }

    .search-page-input:focus {
      border-color: var(--text);
      box-shadow:
        0 0 0 3px var(--accent-soft);
    }

    .search-page-button {
      appearance: none;

      height: 50px;
      padding: 0 22px;

      border: 2px solid var(--text);
      border-radius: 12px;

      background: var(--accent);
      color: var(--text);

      box-shadow: 3px 3px 0 var(--text);

      font: inherit;
      font-size: 14px;
      font-weight: 800;

      cursor: pointer;

      transition:
        transform 120ms ease,
        box-shadow 120ms ease,
        background 120ms ease;
    }

    .search-page-button:hover {
      transform: translate(-1px, -1px);
      box-shadow: 4px 4px 0 var(--text);
    }

    .search-page-button:active {
      transform: translate(1px, 1px);
      box-shadow: 2px 2px 0 var(--text);
    }

    .search-page-button:focus-visible {
      outline: 3px solid var(--accent-soft);
      outline-offset: 3px;
    }

    .search-summary {
      margin: 0 0 17px;

      color: var(--text-muted);

      font-size: 14px;
      font-weight: 650;
      line-height: 1.5;
    }

    .search-result {
      position: relative;

      display: block;

      margin: 0 0 14px;
      padding: 20px 54px 20px 22px;

      border: 2px solid var(--text);
      border-radius: 14px;

      background: var(--surface);
      color: inherit;

      box-shadow: 4px 4px 0 var(--mint);

      text-decoration: none;

      transition:
        transform 120ms ease,
        border-color 120ms ease,
        box-shadow 120ms ease,
        background 120ms ease;
    }

    .search-result::after {
      content: "→";

      position: absolute;
      top: 50%;
      right: 22px;

      transform: translateY(-50%);

      color: var(--accent-strong);

      font-size: 22px;
      font-weight: 850;
      line-height: 1;

      transition: transform 120ms ease;
    }

    .search-result:hover {
      transform: translateY(-2px);

      background: #ffffff;

      box-shadow: 5px 5px 0 var(--accent);
    }

    .search-result:hover::after {
      transform: translate(3px, -50%);
    }

    .search-result:focus-visible {
      outline: 3px solid var(--accent-soft);
      outline-offset: 3px;
    }

    .search-result-title {
      margin: 0 0 7px;

      color: var(--text);

      font-size: 19px;
      font-weight: 800;
      line-height: 1.28;
      letter-spacing: -0.02em;
    }

    .search-result-snippet {
      margin: 0;

      color: var(--text-secondary);

      font-size: 14px;
      font-weight: 500;
      line-height: 1.65;
    }

    .search-empty {
      display: flex;
      flex-direction: column;
      align-items: center;

      padding: 46px 28px;

      border: 2px dashed var(--border-strong);
      border-radius: var(--radius-large);

      background: var(--surface);

      text-align: center;
    }

    .search-empty-icon {
      width: 54px;
      height: 54px;

      display: flex;
      align-items: center;
      justify-content: center;

      margin-bottom: 18px;

      border: 2px solid var(--text);
      border-radius: 14px;

      background: var(--accent-soft);
      color: var(--text);

      box-shadow: 3px 3px 0 var(--accent);
    }

    .search-empty-icon svg {
      width: 25px;
      height: 25px;
    }

    .search-empty h2 {
      max-width: 620px;
      margin: 0 0 8px;

      color: var(--text);

      font-size: 22px;
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: -0.025em;
    }

    .search-empty p {
      max-width: 500px;
      margin: 0;

      color: var(--text-muted);

      font-size: 15px;
      line-height: 1.65;
    }

    .search-empty-neutral {
      border-style: solid;
      border-color: var(--border);
    }

    /*
    |--------------------------------------------------------------------------
    | Confluence content
    |--------------------------------------------------------------------------
    */

    .content {
      max-width: var(--content-width);
      color: var(--text-secondary);
      font-size: 17px;
      line-height: 1.78;
    }

    .content > :first-child {
      margin-top: 0 !important;
    }

    .content > :last-child {
      margin-bottom: 0 !important;
    }

    /*
    | Headings
    */

    .content h1,
    .content h2,
    .content h3,
    .content h4,
    .content h5,
    .content h6 {
      color: var(--text);
      font-weight: 800;
      letter-spacing: -0.035em;
      scroll-margin-top: 30px;
    }

    .content h1 {
      margin: 54px 0 20px;
      font-size: 34px;
      line-height: 1.15;
    }

    .content h2 {
      position: relative;
      margin: 58px 0 19px;
      padding-left: 18px;

      font-size: 28px;
      line-height: 1.2;
    }

    .content h2::before {
      content: "";
      position: absolute;
      top: 0.13em;
      bottom: 0.08em;
      left: 0;

      width: 6px;

      border-radius: 999px;
      background: var(--accent);
    }

    .content h3 {
      margin: 38px 0 13px;
      font-size: 21px;
      line-height: 1.3;
    }

    .content h4 {
      margin: 30px 0 10px;
      font-size: 18px;
      line-height: 1.35;
    }

    /*
    | Paragraphs
    */

    .content p {
      margin: 0 0 21px;
    }

    .content strong {
      color: var(--text);
      font-weight: 750;
    }

    /*
    | Links
    */

    .content a {
      color: #075f59;
      font-weight: 700;
      text-decoration-line: underline;
      text-decoration-color: var(--accent);
      text-decoration-thickness: 3px;
      text-underline-offset: 3px;

      transition:
        color 120ms ease,
        background 120ms ease;
    }

    .content a:hover {
      color: var(--text);
      background: var(--accent-soft);
    }

    /*
    | Lists
    */

    .content ul,
    .content ol {
      margin: 0 0 24px;
      padding-left: 29px;
    }

    .content li {
      margin: 7px 0;
      padding-left: 4px;
    }

    .content li::marker {
      color: #08756d;
      font-weight: 800;
    }

    .content li > ul,
    .content li > ol {
      margin-top: 7px;
      margin-bottom: 7px;
    }

    /*
    | Images
    */

    .content img {
      display: block;
      max-width: 100%;
      height: auto;

      margin: 38px auto;

      border: 2px solid var(--text);
      border-radius: var(--radius-large);

      background: #ffffff;
      box-shadow:
        var(--shadow-offset)
        var(--shadow-offset)
        0
        var(--accent);
    }

    .content .confluence-embedded-file-wrapper {
      display: block;
      margin: 38px 0;
    }

    .content .confluence-embedded-file-wrapper img {
      margin: 0 auto;
    }

    /*
    | Tables
    */

    .content .table-wrap {
      width: 100%;
      margin: 34px 0;
      overflow-x: auto;

      border: 2px solid var(--text);
      border-radius: var(--radius);
      background: var(--surface);
      box-shadow: 5px 5px 0 var(--mint);
    }

    .content table {
      width: 100%;
      margin: 0;

      border-spacing: 0;
      border-collapse: separate;

      background: var(--surface);

      font-size: 14px;
      line-height: 1.55;
    }

    /* Fallback for tables without Confluence's .table-wrap wrapper. */
    .content > table {
      margin: 34px 0;
      border: 2px solid var(--text);
      border-radius: var(--radius);
      overflow: hidden;
      box-shadow: 5px 5px 0 var(--mint);
    }

    .content th,
    .content td {
      padding: 13px 16px;

      border-right: 1px solid var(--border);
      border-bottom: 1px solid var(--border);

      text-align: left;
      vertical-align: top;
    }

    .content th:last-child,
    .content td:last-child {
      border-right: 0;
    }

    .content tr:last-child td {
      border-bottom: 0;
    }

    .content th {
      background: var(--sidebar-background);
      color: #ffffff;

      font-size: 12px;
      font-weight: 800;
      letter-spacing: 0.045em;
      text-transform: uppercase;
    }

    .content tbody tr:nth-child(even) td {
      background: #fbfdfc;
    }

    /*
    | Quotes
    */

    .content blockquote {
      margin: 34px 0;
      padding: 22px 24px;

      border: 2px solid var(--text);
      border-left: 8px solid var(--accent);
      border-radius: var(--radius);

      background: var(--accent-soft);
      color: var(--text);

      box-shadow: 4px 4px 0 var(--text);
    }

    .content blockquote p:last-child {
      margin-bottom: 0;
    }

    /*
    | Inline code
    */

    .content code {
      padding: 2px 6px;

      border: 1px solid #b8c4c0;
      border-radius: 5px;

      background: #eef6f3;
      color: #075f59;

      font-family:
        "SFMono-Regular",
        Consolas,
        "Liberation Mono",
        monospace;

      font-size: 0.88em;
      font-weight: 650;
    }

    /*
    | Code blocks
    */

    .content pre {
      margin: 32px 0;
      padding: 22px 24px;

      overflow-x: auto;

      border: 2px solid var(--text);
      border-radius: var(--radius);

      background: #101b1a;
      color: #f5f7f6;

      box-shadow: 5px 5px 0 var(--accent);

      font-size: 13px;
      line-height: 1.65;
    }

    .content pre code {
      padding: 0;
      border: 0;
      background: transparent;
      color: inherit;
      font-size: inherit;
    }

    /*
    | IMPORTANT: Confluence code macros also carry the generic .panel class.
    | Keep them out of the callout styling so we don't get a box-in-a-box.
    */

    .content .code.panel {
      margin: 32px 0 !important;
      padding: 0 !important;

      overflow: visible !important;

      border: 0 !important;
      border-radius: 0 !important;

      background: transparent !important;
      box-shadow: none !important;
    }

    .content .code.panel .panelContent,
    .content .code.panel .codeContent {
      padding: 0 !important;
      background: transparent !important;
    }

    .content .code.panel pre {
      margin: 0;
    }

    /*
    | Horizontal rules
    */

    .content hr {
      height: 2px;
      margin: 48px 0;

      border: 0;
      background: var(--text);
      opacity: 0.12;
    }

    /*
    |--------------------------------------------------------------------------
    | Confluence callouts
    |--------------------------------------------------------------------------
    */

    /* Native Confluence information macros */
    .content .confluence-information-macro {
      position: relative;

      margin: 34px 0 !important;
      padding: 0 !important;

      overflow: hidden;

      border: 2px solid var(--text) !important;
      border-left: 8px solid var(--accent) !important;
      border-radius: var(--radius) !important;

      background: #fff7d8 !important;
      color: var(--text);

      box-shadow: 5px 5px 0 var(--text);
    }

    .content .confluence-information-macro-icon {
      display: none !important;
    }

    .content .confluence-information-macro-body {
      padding: 18px 21px !important;
    }

    .content .confluence-information-macro-body > :first-child {
      margin-top: 0 !important;
    }

    .content .confluence-information-macro-body > :last-child {
      margin-bottom: 0 !important;
    }

    .content .confluence-information-macro-warning {
      border-left-color: var(--danger) !important;
      background: var(--danger-soft) !important;
      box-shadow: 5px 5px 0 var(--danger);
    }

    .content .confluence-information-macro-tip {
      border-left-color: #31a37c !important;
      background: var(--mint-soft) !important;
      box-shadow: 5px 5px 0 var(--mint);
    }

    .content .confluence-information-macro-information {
      border-left-color: #4e91e6 !important;
      background: #edf5ff !important;
      box-shadow: 5px 5px 0 #a9cdf7;
    }

    /*
    | Older/generic Confluence panels.
    | Exclude .code panels: those are handled above.
    */

    .content .panel:not(.code) {
      margin: 34px 0 !important;
      padding: 0 !important;

      overflow: hidden;

      border: 2px solid var(--text) !important;
      border-left: 8px solid var(--accent) !important;
      border-radius: var(--radius) !important;

      background: #fff7d8 !important;
      box-shadow: 5px 5px 0 var(--text);
    }

    .content .panel:not(.code) .panelContent {
      padding: 18px 21px !important;
      background: transparent !important;
    }

    .content .panel:not(.code) .panelContent > :first-child {
      margin-top: 0 !important;
    }

    .content .panel:not(.code) .panelContent > :last-child {
      margin-bottom: 0 !important;
    }

    /*
    |--------------------------------------------------------------------------
    | Confluence layout cleanup
    |--------------------------------------------------------------------------
    */

    .content .contentLayout2,
    .content .columnLayout,
    .content .cell,
    .content .innerCell {
      max-width: 100% !important;
    }

    .content .columnLayout {
      width: 100% !important;
    }

    .content .innerCell {
      padding: 0 !important;
    }

    /*
    |--------------------------------------------------------------------------
    | Mobile navigation
    |--------------------------------------------------------------------------
    */

    .mobile-menu-button {
      appearance: none;

      display: flex;
      align-items: center;
      justify-content: center;

      width: 40px;
      height: 40px;
      padding: 0;

      border: 2px solid var(--text);
      border-radius: 9px;

      background: var(--accent);
      color: var(--text);
      box-shadow: 3px 3px 0 var(--text);

      cursor: pointer;
    }

    .mobile-menu-button svg {
      width: 19px;
      height: 19px;
    }

    .mobile-overlay {
      display: none;
    }

    /*
    |--------------------------------------------------------------------------
    | Responsive
    |--------------------------------------------------------------------------
    */

    @media (max-width: 900px) {
      .sidebar {
        transform: translateX(-100%);
        width: min(330px, 88vw);

        transition: transform 180ms ease;

        box-shadow: 12px 0 40px rgba(0, 0, 0, 0.18);
      }

      body.sidebar-open .sidebar {
        transform: translateX(0);
      }

      .main {
        margin-left: 0;
      }

      .mobile-header {
        position: sticky;
        top: 0;
        z-index: 30;

        height: var(--header-height);

        display: flex;
        align-items: center;
        justify-content: space-between;

        padding: 0 18px;

        border-bottom: 2px solid var(--text);

        background: var(--sidebar-background);
      }

      .mobile-site-name {
        overflow: hidden;
        margin-right: 16px;

        color: #ffffff;

        font-size: 15px;
        font-weight: 800;

        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .content-shell {
        padding: 42px 30px 84px;
      }

      .mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 35;

        background: rgba(16, 32, 31, 0.45);
        backdrop-filter: blur(2px);
      }

      body.sidebar-open .mobile-overlay {
        display: block;
      }
    }

    @media (max-width: 600px) {
      .content-shell {
        padding: 28px 18px 64px;
      }

      .page-header {
        margin-bottom: 40px;
        padding: 30px 26px 33px;

        border-radius: 16px;
        box-shadow: 4px 4px 0 var(--accent);
      }

      .page-title {
        font-size: clamp(36px, 11vw, 46px);
      }

      .page-kicker {
        margin-bottom: 12px;
      }

      .search-page-form {
        align-items: stretch;
        flex-direction: column;
      }

      .search-page-input {
        width: 100%;
        height: 50px;
        min-height: 50px;
        flex: none;
      }

      .search-page-button {
        width: 100%;
        height: 50px;
      }

      .search-result {
        padding: 18px 48px 18px 18px;
      }

      .search-result::after {
        right: 18px;
      }

      .search-empty {
        padding: 38px 22px;
      }

      .content {
        font-size: 16px;
        line-height: 1.72;
      }

      .content h1 {
        font-size: 29px;
      }

      .content h2 {
        margin-top: 44px;
        padding-left: 15px;
        font-size: 24px;
      }

      .content h2::before {
        width: 5px;
      }

      .content h3 {
        font-size: 20px;
      }

      .content .table-wrap {
        max-width: 100%;
        white-space: nowrap;
        box-shadow: 3px 3px 0 var(--mint);
      }

      .content > table {
        display: block;
        max-width: 100%;
        overflow-x: auto;
        white-space: nowrap;
      }

      .content img {
        margin: 30px auto;
        border-radius: 12px;
        box-shadow: 4px 4px 0 var(--accent);
      }

      .content pre,
      .content .code.panel {
        margin: 27px 0 !important;
      }

      .content pre {
        padding: 18px 19px;
        box-shadow: 4px 4px 0 var(--accent);
      }

      .content .confluence-information-macro,
      .content .panel:not(.code),
      .content blockquote {
        box-shadow: 4px 4px 0 var(--text);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      *,
      *::before,
      *::after {
        transition-duration: 0.01ms !important;
      }
    }

    /*
    |--------------------------------------------------------------------------
    | Theme: Satori Professional
    |--------------------------------------------------------------------------
    | More expressive, customer-facing visual system:
    | clean documentation structure + confident Satori colour.
    */

    .theme-professional {
      --background: #fbfcff;
      --surface: #ffffff;

      --sidebar-background: #f7f9ff;
      --sidebar-background-deep: #f7f9ff;
      --sidebar-text: #10213f;
      --sidebar-muted: #6d7892;
      --sidebar-border: #e3e9f5;

      --text: #10213f;
      --text-secondary: #485872;
      --text-muted: #72809a;

      --border: #dfe6f1;
      --border-strong: #cbd7e8;

      --accent: #246bfe;
      --accent-strong: #1554d1;
      --accent-soft: #eaf1ff;

      --brand-blue: #246bfe;
      --brand-blue-deep: #123b8f;
      --brand-teal: #18bfae;
      --brand-teal-deep: #0b8278;
      --brand-violet: #7657e8;
      --brand-lilac: #f0edff;
      --brand-sky: #edf5ff;
      --brand-mint: #e9fbf7;
      --brand-peach: #fff1e8;

      --danger: #d84b5f;
      --danger-soft: #fff0f2;

      --mint: #d8f5ee;
      --mint-soft: #effaf7;

      --sidebar-width: 286px;
      --content-width: 830px;

      --radius: 12px;
      --radius-large: 22px;
      --shadow-offset: 0px;

      background:
        radial-gradient(circle at 78% 4%, rgba(118, 87, 232, 0.07), transparent 28rem),
        radial-gradient(circle at 40% 0%, rgba(36, 107, 254, 0.06), transparent 24rem),
        var(--background);
    }

    .theme-professional .sidebar {
      background:
        linear-gradient(180deg, rgba(255,255,255,0.96), rgba(247,249,255,0.98)),
        var(--sidebar-background);
      border-right: 1px solid var(--sidebar-border);
      box-shadow: 10px 0 30px rgba(27, 55, 100, 0.035);
    }

    .theme-professional .site-header {
      min-height: 78px;
      padding: 16px 22px;
      border-bottom: 1px solid var(--sidebar-border);
      background: rgba(255,255,255,0.82);
      backdrop-filter: blur(10px);
    }

    .theme-professional .site-home {
      color: var(--text);
      gap: 12px;
    }

    .theme-professional .site-mark {
      width: 38px;
      height: 38px;
      border: 0;
      border-radius: 11px;
      background: linear-gradient(135deg, var(--brand-blue), var(--brand-violet) 55%, var(--brand-teal));
      color: #ffffff;
      box-shadow: 0 8px 20px rgba(36, 107, 254, 0.22);
      font-size: 16px;
      font-weight: 750;
    }

    .theme-professional .site-logo {
      max-width: 116px;
      max-height: 38px;
    }

    .theme-professional .site-name {
      color: var(--text);
      font-size: 16px;
      font-weight: 700;
      letter-spacing: -0.015em;
    }

    .theme-professional .docs-search-wrapper {
      padding: 18px 14px 0;
    }

    .theme-professional .docs-search-input {
      border: 1px solid #dce5f4;
      background: #ffffff;
      color: var(--text);
      box-shadow: 0 2px 7px rgba(27, 55, 100, 0.04);
      font-weight: 500;
    }

    .theme-professional .docs-search-input::placeholder {
      color: #7b88a1;
    }

    .theme-professional .docs-search-icon {
      color: #7b88a1;
    }

    .theme-professional .docs-search-input:hover {
      border-color: #c8d7ed;
    }

    .theme-professional .docs-search-input:focus {
      border-color: var(--brand-blue);
      background: #ffffff;
      box-shadow:
        0 0 0 3px rgba(36, 107, 254, 0.10),
        0 3px 10px rgba(27, 55, 100, 0.05);
    }

    .theme-professional .docs-search:focus-within .docs-search-icon {
      color: var(--brand-blue);
    }

    .theme-professional .nav-wrapper {
      padding: 20px 14px 26px;
    }

    .theme-professional .nav-label {
      margin: 0 10px 12px;
      color: var(--brand-blue);
      font-size: 10px;
      font-weight: 750;
      letter-spacing: 0.11em;
    }

    .theme-professional .nav {
      gap: 3px;
    }

    .theme-professional .nav a {
      padding: 8px 10px;
      border: 1px solid transparent;
      border-radius: 9px;
      color: var(--text-secondary);
      font-weight: 500;
      transition:
        background 120ms ease,
        border-color 120ms ease,
        color 120ms ease,
        transform 120ms ease;
    }

    .theme-professional .nav a:hover {
      transform: translateX(2px);
      background: #edf3ff;
      border-color: #dce8ff;
      color: var(--brand-blue-deep);
    }

    .theme-professional .nav a.active {
      background:
        linear-gradient(90deg, rgba(36,107,254,0.12), rgba(24,191,174,0.10));
      border: 1px solid #cfe0ff;
      color: var(--brand-blue-deep);
      box-shadow: inset 3px 0 0 var(--brand-teal);
      font-weight: 650;
    }

    .theme-professional .nav-folder {
      color: #60708d;
      font-weight: 700;
    }

    .theme-professional .sidebar-footer {
      padding: 17px 22px;
      border-top: 1px solid var(--sidebar-border);
      color: var(--text-muted);
      background: rgba(255,255,255,0.7);
      font-weight: 450;
    }

    .theme-professional .sidebar-footer::before {
      display: none;
    }

    .theme-professional .search-page-input {
      border: 1px solid #d6e2f2;
      border-radius: 11px;
      background: #ffffff;
      color: var(--text);
      box-shadow: 0 2px 8px rgba(27, 55, 100, 0.035);
      font-weight: 500;
    }

    .theme-professional .search-page-input:focus {
      border-color: var(--brand-blue);
      box-shadow:
        0 0 0 3px rgba(36, 107, 254, 0.10),
        0 3px 10px rgba(27, 55, 100, 0.04);
    }

    .theme-professional .search-page-button {
      border: 0;
      border-radius: 11px;
      background:
        linear-gradient(135deg, var(--brand-blue), #5d52d5 70%);
      color: #ffffff;
      box-shadow: 0 8px 18px rgba(36, 107, 254, 0.18);
      font-weight: 650;
    }

    .theme-professional .search-page-button:hover {
      transform: translateY(-1px);
      box-shadow: 0 11px 24px rgba(36, 107, 254, 0.22);
    }

    .theme-professional .search-page-button:active {
      transform: translateY(0);
      box-shadow: 0 6px 14px rgba(36, 107, 254, 0.16);
    }

    .theme-professional .search-summary {
      color: var(--text-muted);
      font-weight: 500;
    }

    .theme-professional .search-result {
      margin-bottom: 12px;
      border: 1px solid #dce5f4;
      border-radius: 14px;
      background: rgba(255,255,255,0.92);
      box-shadow:
        0 2px 5px rgba(22, 48, 88, 0.025),
        0 10px 26px rgba(36, 84, 180, 0.045);
    }

    .theme-professional .search-result::after {
      color: var(--brand-blue);
      font-weight: 700;
    }

    .theme-professional .search-result:hover {
      transform: translateY(-2px);
      border-color: #cbdcff;
      background:
        linear-gradient(
          90deg,
          rgba(36,107,254,0.035),
          rgba(24,191,174,0.025)
        ),
        #ffffff;
      box-shadow:
        0 3px 8px rgba(22, 48, 88, 0.035),
        0 16px 34px rgba(36, 84, 180, 0.08);
    }

    .theme-professional .search-result-title {
      color: #173560;
      font-size: 18px;
      font-weight: 680;
    }

    .theme-professional .search-result-snippet {
      color: #63728b;
      font-weight: 450;
    }

    .theme-professional .search-empty {
      border: 1px solid #dce5f4;
      background:
        radial-gradient(
          circle at 50% 0%,
          rgba(36,107,254,0.055),
          transparent 14rem
        ),
        #ffffff;
      box-shadow: 0 14px 34px rgba(31, 61, 110, 0.045);
    }

    .theme-professional .search-empty-icon {
      border: 0;
      border-radius: 15px;
      background:
        linear-gradient(
          135deg,
          rgba(36,107,254,0.12),
          rgba(118,87,232,0.11) 56%,
          rgba(24,191,174,0.12)
        );
      color: var(--brand-blue-deep);
      box-shadow: none;
    }

    .theme-professional .search-empty h2 {
      color: #173560;
      font-weight: 680;
    }

    .theme-professional .main {
      background:
        radial-gradient(circle at 86% 0%, rgba(24,191,174,0.07), transparent 24rem),
        radial-gradient(circle at 58% 0%, rgba(118,87,232,0.06), transparent 24rem);
    }

    .theme-professional .content-shell {
      max-width: calc(var(--content-width) + 150px);
      padding: 64px 64px 104px;
    }

    .theme-professional .page-header {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      margin-bottom: 48px;
      padding: 42px 44px 46px;
      border: 0;
      border-radius: var(--radius-large);
      background:
        linear-gradient(125deg, #123b8f 0%, #245bd8 48%, #6257d9 78%, #168f93 125%);
      color: #ffffff;
      box-shadow:
        0 2px 4px rgba(16, 33, 63, 0.08),
        0 24px 54px rgba(36, 84, 180, 0.16);
    }

    .theme-professional .page-header::before {
      content: "";
      position: absolute;
      z-index: -1;
      width: 240px;
      height: 240px;
      right: -54px;
      top: -90px;
      border-radius: 50%;
      background: rgba(117, 229, 218, 0.17);
      box-shadow:
        -92px 96px 0 18px rgba(255,255,255,0.045),
        -18px 158px 0 2px rgba(255,255,255,0.04);
    }

    .theme-professional .page-header::after {
      content: "";
      position: absolute;
      z-index: -1;
      left: 36%;
      bottom: -96px;
      width: 190px;
      height: 190px;
      border-radius: 44% 56% 48% 52%;
      background: rgba(24,191,174,0.10);
      transform: rotate(22deg);
    }

    .theme-professional .page-kicker {
      width: fit-content;
      margin-bottom: 14px;
      padding: 6px 10px;
      border: 1px solid rgba(255,255,255,0.18);
      border-radius: 999px;
      background: rgba(255,255,255,0.10);
      color: #dffbf6;
      font-size: 10px;
      font-weight: 750;
      letter-spacing: 0.1em;
      backdrop-filter: blur(8px);
    }

    .theme-professional .page-kicker::before {
      display: block;
      width: 7px;
      height: 7px;
      border: 0;
      border-radius: 999px;
      background: #62e4d4;
      box-shadow: none;
    }

    .theme-professional .page-title {
      max-width: 760px;
      color: #ffffff;
      font-size: clamp(38px, 4.6vw, 54px);
      font-weight: 760;
      line-height: 1.04;
      letter-spacing: -0.045em;
      text-wrap: balance;
    }

    .theme-professional .content {
      color: var(--text-secondary);
      font-size: 16px;
      line-height: 1.72;
    }

    .theme-professional .content h1,
    .theme-professional .content h2,
    .theme-professional .content h3,
    .theme-professional .content h4,
    .theme-professional .content h5,
    .theme-professional .content h6 {
      color: var(--text);
      font-weight: 700;
      letter-spacing: -0.028em;
    }

    .theme-professional .content h1 {
      margin: 48px 0 18px;
      font-size: 32px;
      line-height: 1.2;
    }

    .theme-professional .content h2 {
      position: relative;
      margin: 44px 0 15px;
      padding-left: 16px;
      font-size: 25px;
      line-height: 1.28;
    }

    .theme-professional .content h2::before {
      display: block;
      content: "";
      position: absolute;
      left: 0;
      top: 0.14em;
      bottom: 0.12em;
      width: 5px;
      border-radius: 999px;
      background: linear-gradient(180deg, var(--brand-blue), var(--brand-teal));
    }

    .theme-professional .content h3 {
      margin: 34px 0 12px;
      font-size: 20px;
    }

    .theme-professional .content h4 {
      margin: 28px 0 10px;
      font-size: 17px;
    }

    .theme-professional .content p {
      margin-bottom: 20px;
    }

    .theme-professional .content a {
      color: var(--accent-strong);
      font-weight: 600;
      text-decoration-color: #8fded5;
      text-decoration-thickness: 2px;
      text-underline-offset: 3px;
    }

    .theme-professional .content a:hover {
      color: var(--brand-teal-deep);
      background: #effbf8;
      text-decoration-color: var(--brand-teal);
    }

    .theme-professional .content li::marker {
      color: var(--brand-teal);
      font-weight: 700;
    }

    .theme-professional .content img {
      margin: 32px auto;
      border: 1px solid #d7e3f4;
      border-radius: 16px;
      background: #ffffff;
      box-shadow:
        0 2px 4px rgba(20, 46, 90, 0.04),
        0 18px 42px rgba(36, 107, 254, 0.09);
    }

    .theme-professional .content .confluence-embedded-file-wrapper {
      margin: 32px 0;
    }

    .theme-professional .content .table-wrap {
      margin: 30px 0;
      border: 1px solid #d9e3f0;
      border-radius: 14px;
      background: #ffffff;
      box-shadow: 0 10px 28px rgba(31, 61, 110, 0.055);
    }

    .theme-professional .content > table {
      margin: 30px 0;
      border: 1px solid #d9e3f0;
      border-radius: 14px;
      box-shadow: 0 10px 28px rgba(31, 61, 110, 0.055);
    }

    .theme-professional .content th {
      background: linear-gradient(180deg, #f1f6ff, #edf4ff);
      color: #18345f;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
    }

    .theme-professional .content tbody tr:nth-child(even) td {
      background: #fbfdff;
    }

    .theme-professional .content blockquote {
      margin: 30px 0;
      padding: 20px 22px;
      border: 1px solid #cfeae4;
      border-left: 5px solid var(--brand-teal);
      border-radius: 0 14px 14px 0;
      background:
        linear-gradient(90deg, #edfbf8 0%, #f8fffd 100%);
      color: #355b59;
      box-shadow: none;
    }

    .theme-professional .content code {
      border: 1px solid #d9e3f5;
      border-radius: 6px;
      background: #f1f5ff;
      color: #304fc7;
      font-weight: 500;
    }

    .theme-professional .content pre {
      margin: 30px 0;
      padding: 21px 23px;
      border: 0;
      border-top: 4px solid var(--brand-teal);
      border-radius: 14px;
      background:
        linear-gradient(135deg, #10213f, #172b53);
      color: #eef4ff;
      box-shadow: 0 16px 36px rgba(16, 33, 63, 0.14);
    }

    .theme-professional .content .code.panel {
      margin: 30px 0 !important;
    }

    .theme-professional .content hr {
      height: 1px;
      margin: 44px 0;
      border: 0;
      background: linear-gradient(90deg, #dbe5f4, #cfeee8, #e4defe);
      opacity: 1;
    }

    .theme-professional .content .confluence-information-macro,
    .theme-professional .content .panel:not(.code) {
      margin: 30px 0 !important;
      border: 1px solid #dce5f4 !important;
      border-left: 5px solid var(--brand-blue) !important;
      border-radius: 14px !important;
      background: var(--brand-sky) !important;
      box-shadow: none;
    }

    .theme-professional .content .confluence-information-macro-warning {
      border-color: #f3cbd1 !important;
      border-left-color: #d84b5f !important;
      background: #fff4f5 !important;
    }

    .theme-professional .content .confluence-information-macro-tip {
      border-color: #cfece5 !important;
      border-left-color: var(--brand-teal) !important;
      background: var(--brand-mint) !important;
    }

    .theme-professional .content .confluence-information-macro-information {
      border-color: #d9d4fa !important;
      border-left-color: var(--brand-violet) !important;
      background: var(--brand-lilac) !important;
    }

    .theme-professional .mobile-menu-button {
      border: 1px solid rgba(255,255,255,0.22);
      background: rgba(255,255,255,0.13);
      color: #ffffff;
      box-shadow: none;
      backdrop-filter: blur(8px);
    }

    @media (max-width: 900px) {
      .theme-professional .mobile-header {
        border-bottom: 0;
        background:
          linear-gradient(100deg, #123b8f, #245bd8 58%, #5d52d5);
        box-shadow: 0 8px 24px rgba(18, 59, 143, 0.14);
      }

      .theme-professional .mobile-site-name {
        color: #ffffff;
      }
    }

    @media (max-width: 600px) {
      .theme-professional .content-shell {
        padding: 28px 18px 72px;
      }

      .theme-professional .page-header {
        margin-bottom: 34px;
        padding: 30px 26px 34px;
        border-radius: 18px;
        box-shadow: 0 18px 36px rgba(36, 84, 180, 0.14);
      }

      .theme-professional .page-title {
        font-size: 35px;
      }
    }



    /*
    |--------------------------------------------------------------------------
    | Theme: Satori Calm
    |--------------------------------------------------------------------------
    */

    .theme-calm {
      --background: #f8f7f2;
      --surface: #fffefa;

      --sidebar-background: #f0f1eb;
      --sidebar-background-deep: #f0f1eb;
      --sidebar-text: #26332e;
      --sidebar-muted: #78827d;
      --sidebar-border: #d9ddd7;

      --text: #27332e;
      --text-secondary: #5c6963;
      --text-muted: #7a8580;

      --border: #d9ddd7;
      --border-strong: #bcc6c0;

      --accent: #6f9485;
      --accent-strong: #4d7666;
      --accent-soft: #e4eee8;

      --danger: #c7776c;
      --danger-soft: #f8eeeb;

      --mint: #dbe8df;
      --mint-soft: #edf4ef;

      --sidebar-width: 290px;
      --content-width: 800px;

      --radius: 16px;
      --radius-large: 22px;
      --shadow-offset: 0px;
    }

    .theme-calm {
      background: var(--background);
    }

    .theme-calm .sidebar {
      background: var(--sidebar-background);
      border-right: 1px solid var(--border);
    }

    .theme-calm .site-header {
      min-height: 78px;
      padding: 16px 22px;
      border-bottom: 1px solid var(--border);
    }

    .theme-calm .site-home {
      color: var(--text);
    }

    .theme-calm .site-mark {
      width: 38px;
      height: 38px;
      border: 0;
      border-radius: 12px;
      background: #dbe9e1;
      color: #456a5b;
      box-shadow: none;
      font-size: 16px;
      font-weight: 750;
    }

    .theme-calm .site-logo {
      max-width: 112px;
      max-height: 38px;
    }

    .theme-calm .site-name {
      color: var(--text);
      font-size: 17px;
      font-weight: 680;
      letter-spacing: -0.015em;
    }

    .theme-calm .docs-search-wrapper {
      padding: 20px 18px 0;
    }

    .theme-calm .docs-search-input {
      border: 1px solid #d7ddd9;
      background: #fffefa;
      color: var(--text);
      box-shadow: none;
      font-weight: 500;
    }

    .theme-calm .docs-search-input::placeholder {
      color: var(--text-muted);
    }

    .theme-calm .docs-search-icon {
      color: var(--text-muted);
    }

    .theme-calm .docs-search-input:focus {
      border-color: var(--accent);
      background: #ffffff;
      box-shadow:
        0 0 0 3px rgba(111, 148, 133, 0.11);
    }

    .theme-calm .docs-search:focus-within .docs-search-icon {
      color: var(--accent-strong);
    }

    .theme-calm .nav-wrapper {
      padding: 22px 18px 30px;
    }

    .theme-calm .nav-label {
      margin: 0 12px 12px;
      color: var(--text-muted);
      font-weight: 650;
      letter-spacing: 0.1em;
    }

    .theme-calm .nav {
      gap: 4px;
    }

    .theme-calm .nav a {
      padding: 9px 12px;
      border: 0;
      border-radius: 10px;
      color: var(--text-secondary);
      font-size: 14px;
      font-weight: 500;
    }

    .theme-calm .nav a:hover {
      transform: none;
      background: rgba(111, 148, 133, 0.08);
      color: var(--text);
    }

    .theme-calm .nav a.active {
      background: var(--accent-soft);
      border: 0;
      color: var(--accent-strong);
      box-shadow: none;
      font-weight: 650;
    }

    .theme-calm .sidebar-footer {
      padding: 18px 24px;
      border-top: 1px solid var(--border);
      color: var(--text-muted);
      font-weight: 400;
    }

    .theme-calm .sidebar-footer::before {
      display: none;
    }

    .theme-calm .search-page-input {
      border: 1px solid #d4e1db;
      border-radius: 12px;
      background: #fffefa;
      color: var(--text);
      box-shadow: none;
      font-weight: 500;
    }

    .theme-calm .search-page-input:focus {
      border-color: var(--accent);
      box-shadow: 0 0 0 3px rgba(111, 148, 133, 0.11);
    }

    .theme-calm .search-page-button {
      border: 0;
      border-radius: 12px;
      background: var(--accent-strong);
      color: #ffffff;
      box-shadow: none;
      font-weight: 600;
    }

    .theme-calm .search-page-button:hover {
      transform: translateY(-1px);
      background: #416d5d;
      box-shadow: 0 8px 20px rgba(70, 105, 92, 0.12);
    }

    .theme-calm .search-page-button:active {
      transform: translateY(0);
      box-shadow: none;
    }

    .theme-calm .search-summary {
      color: var(--text-muted);
      font-weight: 500;
    }

    .theme-calm .search-result {
      margin-bottom: 12px;
      border: 1px solid #d8e1dc;
      border-radius: 15px;
      background: #fffefa;
      box-shadow: none;
    }

    .theme-calm .search-result::after {
      color: var(--accent-strong);
      font-weight: 650;
    }

    .theme-calm .search-result:hover {
      transform: translateY(-1px);
      border-color: #c6d7cf;
      background: #ffffff;
      box-shadow: 0 12px 28px rgba(54, 70, 62, 0.065);
    }

    .theme-calm .search-result-title {
      color: var(--text);
      font-size: 18px;
      font-weight: 650;
    }

    .theme-calm .search-result-snippet {
      color: var(--text-secondary);
      font-weight: 450;
    }

    .theme-calm .search-empty {
      border: 1px solid #d8e1dc;
      background:
        linear-gradient(
          180deg,
          rgba(228,238,232,0.42),
          rgba(255,254,250,0.92)
        );
      box-shadow: none;
    }

    .theme-calm .search-empty-icon {
      border: 0;
      border-radius: 16px;
      background: #e4eee8;
      color: var(--accent-strong);
      box-shadow: none;
    }

    .theme-calm .search-empty h2 {
      color: var(--text);
      font-weight: 650;
    }

    .theme-calm .content-shell {
      max-width: calc(var(--content-width) + 160px);
      padding: 74px 72px 120px;
    }

    .theme-calm .page-header {
      margin-bottom: 56px;
      padding: 38px 42px 40px;
      border: 1px solid #dce3de;
      border-radius: var(--radius-large);
      background: #eef3ef;
      color: var(--text);
      box-shadow: none;
    }

    .theme-calm .page-header::after {
      display: none;
    }

    .theme-calm .page-kicker {
      margin-bottom: 14px;
      color: var(--accent-strong);
      font-size: 11px;
      font-weight: 650;
      letter-spacing: 0.11em;
    }

    .theme-calm .page-kicker::before {
      width: 8px;
      height: 8px;
      border: 0;
      border-radius: 50%;
      background: var(--accent);
      box-shadow: none;
    }

    .theme-calm .page-title {
      max-width: 720px;
      color: var(--text);
      font-size: clamp(38px, 4.7vw, 52px);
      font-weight: 680;
      line-height: 1.08;
      letter-spacing: -0.04em;
    }

    .theme-calm .content {
      color: var(--text-secondary);
      font-size: 17px;
      line-height: 1.85;
    }

    .theme-calm .content h1,
    .theme-calm .content h2,
    .theme-calm .content h3,
    .theme-calm .content h4,
    .theme-calm .content h5,
    .theme-calm .content h6 {
      color: var(--text);
      font-weight: 650;
      letter-spacing: -0.025em;
    }

    .theme-calm .content h1 {
      margin: 58px 0 20px;
      font-size: 32px;
    }

    .theme-calm .content h2 {
      margin: 56px 0 18px;
      padding-left: 0;
      font-size: 27px;
      line-height: 1.28;
    }

    .theme-calm .content h2::before {
      display: none;
    }

    .theme-calm .content h3 {
      margin: 40px 0 13px;
      font-size: 21px;
    }

    .theme-calm .content h4 {
      margin: 32px 0 11px;
      font-size: 18px;
    }

    .theme-calm .content p {
      margin-bottom: 23px;
    }

    .theme-calm .content a {
      color: var(--accent-strong);
      font-weight: 600;
      text-decoration-thickness: 1px;
      text-decoration-color: #a9c3b8;
    }

    .theme-calm .content a:hover {
      color: #355c4d;
      background: transparent;
      text-decoration-color: #6f9485;
    }

    .theme-calm .content li {
      margin: 8px 0;
    }

    .theme-calm .content li::marker {
      color: var(--accent);
      font-weight: 600;
    }

    .theme-calm .content img {
      margin: 40px auto;
      border: 1px solid #dce2de;
      border-radius: 18px;
      box-shadow: 0 14px 34px rgba(54, 70, 62, 0.07);
    }

    .theme-calm .content .confluence-embedded-file-wrapper {
      margin: 40px 0;
    }

    .theme-calm .content .table-wrap {
      margin: 34px 0;
      border: 1px solid #d7ddd9;
      border-radius: 14px;
      box-shadow: none;
    }

    .theme-calm .content > table {
      margin: 34px 0;
      border: 1px solid #d7ddd9;
      border-radius: 14px;
      box-shadow: none;
    }

    .theme-calm .content th {
      background: #eaf0ec;
      color: #34433c;
      font-size: 13px;
      font-weight: 650;
      letter-spacing: 0;
      text-transform: none;
    }

    .theme-calm .content td {
      background: #fffefa;
    }

    .theme-calm .content tbody tr:nth-child(even) td {
      background: #fafaf6;
    }

    .theme-calm .content blockquote {
      margin: 34px 0;
      padding: 18px 22px;
      border: 0;
      border-left: 4px solid #91ad9f;
      border-radius: 0 12px 12px 0;
      background: #eef3ef;
      color: var(--text-secondary);
      box-shadow: none;
    }

    .theme-calm .content code {
      border: 1px solid #d7dfda;
      background: #eef3ef;
      color: #456a5b;
      font-weight: 500;
    }

    .theme-calm .content pre {
      margin: 34px 0;
      padding: 22px 24px;
      border: 0;
      border-radius: 14px;
      background: #26332e;
      color: #f2f5f3;
      box-shadow: none;
    }

    .theme-calm .content .code.panel {
      margin: 34px 0 !important;
    }

    .theme-calm .content hr {
      height: 1px;
      margin: 50px 0;
      background: var(--border);
      opacity: 1;
    }

    .theme-calm .content .confluence-information-macro,
    .theme-calm .content .panel:not(.code) {
      margin: 34px 0 !important;
      border: 1px solid #d8e0db !important;
      border-left: 4px solid #8daa9d !important;
      border-radius: 14px !important;
      background: #eef4f0 !important;
      box-shadow: none;
    }

    .theme-calm .content .confluence-information-macro-warning {
      border-left-color: #c7776c !important;
      background: #f8eeeb !important;
      box-shadow: none;
    }

    .theme-calm .content .confluence-information-macro-tip {
      border-left-color: #6f9485 !important;
      background: #edf4ef !important;
      box-shadow: none;
    }

    .theme-calm .content .confluence-information-macro-information {
      border-left-color: #819da6 !important;
      background: #eef3f4 !important;
      box-shadow: none;
    }

    .theme-calm .mobile-menu-button {
      border: 1px solid var(--border);
      background: #e4eee8;
      color: var(--text);
      box-shadow: none;
    }

    @media (max-width: 900px) {
      .theme-calm .mobile-header {
        border-bottom: 1px solid var(--border);
        background: rgba(240, 241, 235, 0.96);
        backdrop-filter: blur(12px);
      }

      .theme-calm .mobile-site-name {
        color: var(--text);
      }
    }


      .theme-calm .content-shell {
        padding: 30px 20px 72px;
      }

      .theme-calm .page-header {
        margin-bottom: 42px;
        padding: 28px 24px 30px;
        border-radius: 16px;
        box-shadow: none;
      }

      .theme-calm .page-title {
        font-size: 36px;
      }
    }

    /*
    |--------------------------------------------------------------------------
    | Shared reading rhythm
    |--------------------------------------------------------------------------
    | Keep the three themes visually different, but give all of them the same
    | tighter documentation spacing. Confluence often wraps list-item text in
    | <p> tags, so the li > p rule is particularly important.
    */

    .content {
      line-height: 1.68;
    }

    .content h1 {
      margin-top: 42px;
      margin-bottom: 14px;
    }

    .content h2 {
      margin-top: 38px;
      margin-bottom: 12px;
    }

    .content h3 {
      margin-top: 28px;
      margin-bottom: 9px;
    }

    .content h4 {
      margin-top: 24px;
      margin-bottom: 8px;
    }

    .content p {
      margin-bottom: 16px;
    }

    .content ul,
    .content ol {
      margin-bottom: 18px;
    }

    .content li {
      margin-top: 3px;
      margin-bottom: 3px;
    }

    /* Confluence commonly renders bullets as <li><p>Text</p></li>.
       Without this, paragraph spacing makes every bullet look double-spaced. */
    .content li > p {
      margin-top: 0;
      margin-bottom: 0;
    }

    .content li > ul,
    .content li > ol {
      margin-top: 5px;
      margin-bottom: 5px;
    }

    @media (max-width: 600px) {
      .content h1 {
        margin-top: 36px;
        margin-bottom: 12px;
      }

      .content h2 {
        margin-top: 34px;
        margin-bottom: 11px;
      }

      .content h3 {
        margin-top: 25px;
        margin-bottom: 8px;
      }

      .content h4 {
        margin-top: 21px;
        margin-bottom: 7px;
      }

      .content p {
        margin-bottom: 14px;
      }

      .content ul,
      .content ol {
        margin-bottom: 16px;
      }
    }

    /*
|--------------------------------------------------------------------------
| Shared content spacing
|--------------------------------------------------------------------------
| All themes use the same reading rhythm.
| Themes change colour, shape, typography and decoration — not spacing.
*/

.theme-professional .content,
.theme-calm .content {
  line-height: 1.68;
}

.theme-professional .content h1,
.theme-calm .content h1 {
  margin-top: 42px;
  margin-bottom: 14px;
}

.theme-professional .content h2,
.theme-calm .content h2 {
  margin-top: 38px;
  margin-bottom: 12px;
}

.theme-professional .content h3,
.theme-calm .content h3 {
  margin-top: 28px;
  margin-bottom: 9px;
}

.theme-professional .content h4,
.theme-calm .content h4 {
  margin-top: 24px;
  margin-bottom: 8px;
}

.theme-professional .content p,
.theme-calm .content p {
  margin-bottom: 16px;
}

.theme-professional .content ul,
.theme-professional .content ol,
.theme-calm .content ul,
.theme-calm .content ol {
  margin-bottom: 18px;
}

.theme-professional .content li,
.theme-calm .content li {
  margin-top: 3px;
  margin-bottom: 3px;
}

/* Confluence often renders bullets as <li><p>...</p></li>. */
.theme-professional .content li > p,
.theme-calm .content li > p {
  margin-top: 0;
  margin-bottom: 0;
}

.theme-professional .content li > ul,
.theme-professional .content li > ol,
.theme-calm .content li > ul,
.theme-calm .content li > ol {
  margin-top: 5px;
  margin-bottom: 5px;
}

@media (max-width: 600px) {
  .theme-professional .content h1,
  .theme-calm .content h1 {
    margin-top: 36px;
    margin-bottom: 12px;
  }

  .theme-professional .content h2,
  .theme-calm .content h2 {
    margin-top: 34px;
    margin-bottom: 11px;
  }

  .theme-professional .content h3,
  .theme-calm .content h3 {
    margin-top: 25px;
    margin-bottom: 8px;
  }

  .theme-professional .content h4,
  .theme-calm .content h4 {
    margin-top: 21px;
    margin-bottom: 7px;
  }

  .theme-professional .content p,
  .theme-calm .content p {
    margin-bottom: 14px;
  }

  .theme-professional .content ul,
  .theme-professional .content ol,
  .theme-calm .content ul,
  .theme-calm .content ol {
    margin-bottom: 16px;
  }
}


        .nav-folder {
      padding: 14px 12px 6px;

      color: var(--sidebar-muted);

      font-size: 12px;
      font-weight: 800;
      line-height: 1.3;
      letter-spacing: 0.02em;
    }

    .nav-folder:first-child {
      padding-top: 6px;
    }

    .theme-professional .nav-folder {
      color: var(--text-muted);
      font-weight: 650;
    }

    .theme-calm .nav-folder {
      color: var(--text-muted);
      font-weight: 650;
    }



    /* -------------------------------------------------------------------------
       Satori Calm — richer colour refinement
       -------------------------------------------------------------------------
       Keep the theme gentle and editorial, but give it more identity through
       muted multi-colour surfaces, soft gradients and clearer branded accents.
    */

    .theme-calm {
      --background: #fbfaf6;
      --surface: #fffefb;

      --sidebar-background: #f1f7f3;
      --sidebar-background-deep: #eef4f6;
      --sidebar-text: #243934;
      --sidebar-muted: #70817b;
      --sidebar-border: #dbe5df;

      --text: #243934;
      --text-secondary: #586a64;
      --text-muted: #7b8984;

      --border: #dbe4df;
      --border-strong: #c8d5cf;

      --accent: #6f9f8d;
      --accent-strong: #426f61;
      --accent-soft: #e5f1eb;

      --calm-sage: #6f9f8d;
      --calm-sage-deep: #426f61;
      --calm-sea: #72aeb2;
      --calm-sky: #dceef4;
      --calm-lilac: #a695c7;
      --calm-lilac-soft: #eee9f6;
      --calm-peach: #d99a82;
      --calm-peach-soft: #faece5;
      --calm-gold: #caa85c;
      --calm-gold-soft: #f8f0d8;
      --calm-mint: #dff1e9;
      --calm-cream: #fffaf0;

      --danger: #c96f68;
      --danger-soft: #fbefec;

      --mint: #dcebe4;
      --mint-soft: #eef6f2;

      background:
        radial-gradient(circle at 84% 2%, rgba(166,149,199,0.11), transparent 28rem),
        radial-gradient(circle at 52% 0%, rgba(114,174,178,0.09), transparent 24rem),
        radial-gradient(circle at 22% 14%, rgba(217,154,130,0.06), transparent 22rem),
        var(--background);
    }

    .theme-calm .sidebar {
      background:
        radial-gradient(circle at 12% 4%, rgba(111,159,141,0.13), transparent 16rem),
        linear-gradient(180deg, #f4f8f4 0%, #eef5f3 58%, #f4f1f8 118%);
      border-right: 1px solid var(--sidebar-border);
      box-shadow: 10px 0 32px rgba(48, 76, 68, 0.035);
    }

    .theme-calm .site-header {
      min-height: 80px;
      padding: 16px 22px;
      border-bottom: 1px solid var(--sidebar-border);
      background: rgba(251, 253, 251, 0.78);
      backdrop-filter: blur(10px);
    }

    .theme-calm .site-mark {
      width: 40px;
      height: 40px;
      border: 0;
      border-radius: 13px;
      background:
        linear-gradient(145deg, #5f9582 0%, #78b4ab 52%, #a695c7 118%);
      color: #ffffff;
      box-shadow: 0 9px 22px rgba(73, 117, 102, 0.17);
      font-size: 16px;
      font-weight: 750;
    }

    .theme-calm .site-logo {
      max-width: 116px;
      max-height: 40px;
    }

    .theme-calm .site-name {
      color: var(--text);
      font-size: 17px;
      font-weight: 700;
      letter-spacing: -0.018em;
    }

    .theme-calm .nav-label {
      color: var(--calm-sage-deep);
      font-size: 10px;
      font-weight: 750;
      letter-spacing: 0.11em;
    }

    .theme-calm .nav a {
      border: 1px solid transparent;
      color: var(--text-secondary);
      font-weight: 520;
      transition:
        background 120ms ease,
        border-color 120ms ease,
        color 120ms ease,
        transform 120ms ease;
    }

    .theme-calm .nav a:hover {
      transform: translateX(2px);
      background: rgba(111,159,141,0.09);
      border-color: rgba(111,159,141,0.12);
      color: var(--calm-sage-deep);
    }

    .theme-calm .nav a.active {
      background:
        linear-gradient(90deg, rgba(111,159,141,0.16), rgba(166,149,199,0.11));
      border: 1px solid #d3e3dc;
      color: var(--calm-sage-deep);
      box-shadow: inset 3px 0 0 var(--calm-sea);
      font-weight: 680;
    }

    .theme-calm .nav-folder {
      color: #667a73;
      font-weight: 700;
    }

    .theme-calm .sidebar-footer {
      background: rgba(255,255,255,0.46);
    }

    .theme-calm .main {
      background:
        radial-gradient(circle at 90% 2%, rgba(114,174,178,0.075), transparent 24rem),
        radial-gradient(circle at 62% 0%, rgba(166,149,199,0.065), transparent 25rem),
        radial-gradient(circle at 38% 9%, rgba(217,154,130,0.04), transparent 20rem);
    }

    .theme-calm .content-shell {
      max-width: calc(var(--content-width) + 170px);
      padding: 68px 72px 112px;
    }

    .theme-calm .page-header {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      margin-bottom: 52px;
      padding: 42px 44px 45px;
      border: 1px solid #d7e5df;
      border-radius: 24px;
      background:
        linear-gradient(132deg, #e7f3ed 0%, #e9f3f5 44%, #eee9f6 76%, #faeee7 125%);
      color: var(--text);
      box-shadow:
        0 2px 4px rgba(47, 72, 64, 0.025),
        0 22px 50px rgba(66, 111, 97, 0.075);
    }

    .theme-calm .page-header::before {
      content: "";
      position: absolute;
      z-index: -1;
      display: block;
      width: 220px;
      height: 220px;
      right: -60px;
      top: -84px;
      border-radius: 50%;
      background: rgba(114,174,178,0.17);
      box-shadow:
        -112px 118px 0 10px rgba(166,149,199,0.075),
        -18px 168px 0 -4px rgba(217,154,130,0.095);
    }

    .theme-calm .page-header::after {
      content: "";
      position: absolute;
      z-index: -1;
      display: block;
      left: 12%;
      bottom: -108px;
      width: 210px;
      height: 160px;
      border-radius: 55% 45% 62% 38%;
      background: rgba(202,168,92,0.08);
      transform: rotate(-12deg);
    }

    .theme-calm .page-kicker {
      width: fit-content;
      margin-bottom: 14px;
      padding: 6px 10px;
      border: 1px solid rgba(66,111,97,0.12);
      border-radius: 999px;
      background: rgba(255,255,255,0.55);
      color: var(--calm-sage-deep);
      font-size: 10px;
      font-weight: 750;
      letter-spacing: 0.1em;
      backdrop-filter: blur(8px);
    }

    .theme-calm .page-kicker::before {
      display: block;
      width: 7px;
      height: 7px;
      border: 0;
      border-radius: 999px;
      background: var(--calm-peach);
      box-shadow: none;
    }

    .theme-calm .page-title {
      max-width: 740px;
      color: #264038;
      font-size: clamp(39px, 4.8vw, 54px);
      font-weight: 700;
      line-height: 1.06;
      letter-spacing: -0.044em;
      text-wrap: balance;
    }

    .theme-calm .content {
      color: var(--text-secondary);
      font-size: 17px;
      line-height: 1.76;
    }

    .theme-calm .content h1,
    .theme-calm .content h2,
    .theme-calm .content h3,
    .theme-calm .content h4,
    .theme-calm .content h5,
    .theme-calm .content h6 {
      color: #29443b;
      font-weight: 680;
      letter-spacing: -0.027em;
    }

    .theme-calm .content h2 {
      position: relative;
      padding-left: 16px;
    }

    .theme-calm .content h2::before {
      display: block;
      content: "";
      position: absolute;
      left: 0;
      top: 0.12em;
      bottom: 0.1em;
      width: 5px;
      border-radius: 999px;
      background: linear-gradient(180deg, var(--calm-sage), var(--calm-lilac));
    }

    .theme-calm .content a {
      color: var(--calm-sage-deep);
      font-weight: 650;
      text-decoration-thickness: 2px;
      text-decoration-color: #a9cdc0;
      text-underline-offset: 3px;
    }

    .theme-calm .content a:hover {
      color: #355f71;
      background: #edf7f7;
      text-decoration-color: var(--calm-sea);
    }

    .theme-calm .content li::marker {
      color: var(--calm-peach);
      font-weight: 700;
    }

    .theme-calm .content img {
      border: 1px solid #d6e3de;
      border-radius: 20px;
      background: #ffffff;
      box-shadow:
        0 2px 4px rgba(47,72,64,0.025),
        0 18px 42px rgba(91,126,113,0.09);
    }

    .theme-calm .content .table-wrap,
    .theme-calm .content > table {
      border: 1px solid #d6e2dc;
      border-radius: 15px;
      background: #ffffff;
      box-shadow: 0 10px 28px rgba(62,89,80,0.045);
    }

    .theme-calm .content th {
      background:
        linear-gradient(180deg, #edf5f0 0%, #edf3f5 100%);
      color: #355248;
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0;
      text-transform: none;
    }

    .theme-calm .content td {
      background: #fffefb;
    }

    .theme-calm .content tbody tr:nth-child(even) td {
      background: #fafcf9;
    }

    .theme-calm .content blockquote {
      padding: 20px 22px;
      border: 1px solid #eedbd2;
      border-left: 5px solid var(--calm-peach);
      border-radius: 0 14px 14px 0;
      background:
        linear-gradient(90deg, #faeee8 0%, #fff9f5 100%);
      color: #6a5148;
      box-shadow: none;
    }

    .theme-calm .content code {
      border: 1px solid #d8e4df;
      border-radius: 6px;
      background: #eff5f2;
      color: #4d7165;
      font-weight: 520;
    }

    .theme-calm .content pre {
      border: 0;
      border-top: 4px solid var(--calm-sea);
      border-radius: 15px;
      background:
        linear-gradient(135deg, #294039, #314d48 58%, #35474f);
      color: #eef5f2;
      box-shadow: 0 16px 34px rgba(41,64,57,0.12);
    }

    .theme-calm .content hr {
      background: linear-gradient(90deg, #d7e7df, #dceaf0, #e6deef, #f0ded5);
    }

    .theme-calm .content .confluence-information-macro,
    .theme-calm .content .panel:not(.code) {
      border: 1px solid #d8e4df !important;
      border-left: 5px solid var(--calm-sage) !important;
      border-radius: 15px !important;
      background: #eff6f2 !important;
      box-shadow: none;
    }

    .theme-calm .content .confluence-information-macro-warning {
      border-color: #efd7d1 !important;
      border-left-color: var(--danger) !important;
      background: var(--danger-soft) !important;
    }

    .theme-calm .content .confluence-information-macro-tip {
      border-color: #cfe5da !important;
      border-left-color: var(--calm-sage) !important;
      background: var(--calm-mint) !important;
    }

    .theme-calm .content .confluence-information-macro-information {
      border-color: #d6e5eb !important;
      border-left-color: var(--calm-sea) !important;
      background: #edf6f8 !important;
    }

    .theme-calm .mobile-menu-button {
      border: 1px solid rgba(255,255,255,0.34);
      background: rgba(255,255,255,0.22);
      color: #29443b;
      box-shadow: none;
      backdrop-filter: blur(8px);
    }

    @media (max-width: 900px) {
      .theme-calm .mobile-header {
        border-bottom: 1px solid rgba(66,111,97,0.12);
        background:
          linear-gradient(100deg, #e7f3ed 0%, #e7f2f4 52%, #eee8f5 100%);
        box-shadow: 0 8px 24px rgba(66,111,97,0.07);
      }

      .theme-calm .mobile-site-name {
        color: #29443b;
      }
    }

    @media (max-width: 600px) {
      .theme-calm .content-shell {
        padding: 28px 18px 72px;
      }

      .theme-calm .page-header {
        margin-bottom: 36px;
        padding: 30px 26px 34px;
        border-radius: 19px;
        box-shadow: 0 16px 34px rgba(66,111,97,0.07);
      }

      .theme-calm .page-title {
        font-size: 36px;
      }
    }

/*
|--------------------------------------------------------------------------
| Theme: Satori Console
|--------------------------------------------------------------------------
| This intentionally overrides the former Calm theme.
| Internal class remains .theme-calm so no Django/model change is required.
|
| Visual language:
| - retro CRT / tactical console
| - near-black panels
| - red phosphor primary
| - amber + terminal green secondary signals
| - scanlines, grids, square corners and restrained glow
|--------------------------------------------------------------------------
*/

.theme-calm {
  --background: #050706;
  --surface: #090d0b;

  --sidebar-background: #050706;
  --sidebar-background-deep: #020403;
  --sidebar-text: #ffd8d3;
  --sidebar-muted: #9f5f59;
  --sidebar-border: rgba(255, 86, 72, 0.28);

  --text: #f4e3df;
  --text-secondary: #c9aaa5;
  --text-muted: #8f706b;

  --border: rgba(255, 86, 72, 0.23);
  --border-strong: rgba(255, 86, 72, 0.58);

  --accent: #ff594b;
  --accent-strong: #ff7568;
  --accent-soft: rgba(255, 89, 75, 0.11);

  --danger: #ff4538;
  --danger-soft: rgba(255, 69, 56, 0.11);

  --mint: #76ff9f;
  --mint-soft: rgba(118, 255, 159, 0.09);

  --console-red: #ff594b;
  --console-red-bright: #ff7568;
  --console-red-dim: #8f342d;
  --console-amber: #ffb14e;
  --console-green: #76ff9f;
  --console-grid: rgba(255, 89, 75, 0.055);

  --sidebar-width: 292px;
  --content-width: 830px;

  --radius: 2px;
  --radius-large: 2px;
  --shadow-offset: 0px;

  color-scheme: dark;

  background:
    linear-gradient(rgba(255, 89, 75, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 89, 75, 0.028) 1px, transparent 1px),
    radial-gradient(circle at 50% -20%, rgba(255, 89, 75, 0.08), transparent 34rem),
    #050706;
  background-size:
    28px 28px,
    28px 28px,
    auto,
    auto;

  color: var(--text);

  font-family:
    "SFMono-Regular",
    "Cascadia Code",
    "Roboto Mono",
    Consolas,
    "Liberation Mono",
    monospace;

  letter-spacing: 0.012em;
}

/*
| CRT wash / scanline texture
*/

.theme-calm::before {
  content: "";
  position: fixed;
  z-index: 9999;
  inset: 0;

  background:
    repeating-linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014) 0,
      rgba(255, 255, 255, 0.014) 1px,
      transparent 1px,
      transparent 4px
    );

  opacity: 0.42;
  pointer-events: none;
}

.theme-calm ::selection {
  background: var(--console-red);
  color: #050706;
}

/*
|--------------------------------------------------------------------------
| Shell / sidebar
|--------------------------------------------------------------------------
*/

.theme-calm .sidebar {
  background:
    linear-gradient(180deg, rgba(255, 89, 75, 0.045), transparent 180px),
    linear-gradient(180deg, #070a08 0%, #020403 100%);

  border-right: 1px solid rgba(255, 89, 75, 0.48);

  box-shadow:
    8px 0 30px rgba(0, 0, 0, 0.42),
    inset -1px 0 0 rgba(255, 89, 75, 0.08);
}

.theme-calm .site-header {
  min-height: 82px;
  padding: 16px 20px;

  border-bottom: 1px solid rgba(255, 89, 75, 0.30);

  background:
    linear-gradient(90deg, rgba(255, 89, 75, 0.06), transparent);
  backdrop-filter: none;
}

.theme-calm .site-home {
  color: var(--sidebar-text);
}

.theme-calm .site-mark {
  width: 40px;
  height: 40px;

  border: 1px solid var(--console-red);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.08);
  color: var(--console-red-bright);

  box-shadow:
    inset 0 0 16px rgba(255, 89, 75, 0.08),
    0 0 15px rgba(255, 89, 75, 0.12);

  font-size: 15px;
  font-weight: 800;
}

.theme-calm .site-logo {
  max-width: 118px;
  max-height: 40px;

  filter:
    grayscale(1)
    sepia(1)
    saturate(6)
    hue-rotate(320deg)
    brightness(1.12);
}

.theme-calm .site-name {
  color: #ffd8d3;

  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase;

  text-shadow:
    0 0 12px rgba(255, 89, 75, 0.18);
}

/*
| Sidebar search
*/

.theme-calm .docs-search-wrapper {
  padding: 18px 16px 0;
}

.theme-calm .docs-search-input {
  height: 42px;

  border: 1px solid rgba(255, 89, 75, 0.34);
  border-radius: 1px;

  background: #050706;
  color: #ffd8d3;

  box-shadow:
    inset 0 0 18px rgba(255, 89, 75, 0.03);

  font-family: inherit;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.theme-calm .docs-search-input::placeholder {
  color: #81554f;
}

.theme-calm .docs-search-icon {
  color: var(--console-red-dim);
}

.theme-calm .docs-search-input:focus {
  border-color: var(--console-red);

  background: #070907;

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.20),
    0 0 20px rgba(255, 89, 75, 0.09);
}

.theme-calm .docs-search:focus-within .docs-search-icon {
  color: var(--console-red-bright);
}

/*
| Navigation
*/

.theme-calm .nav-wrapper {
  padding: 22px 16px 28px;
}

.theme-calm .nav-label {
  margin: 0 10px 13px;

  color: var(--console-red);

  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;

  text-shadow:
    0 0 10px rgba(255, 89, 75, 0.20);
}

.theme-calm .nav-label::before {
  content: "// ";
  color: var(--console-red-dim);
}

.theme-calm .nav {
  gap: 3px;
}

.theme-calm .nav-folder {
  padding: 15px 10px 6px;

  color: #9f5f59;

  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-calm .nav-folder::before {
  content: "[";
  margin-right: 5px;
  color: var(--console-red-dim);
}

.theme-calm .nav-folder::after {
  content: "]";
  margin-left: 5px;
  color: var(--console-red-dim);
}

.theme-calm .nav a {
  padding: 9px 10px;

  border: 1px solid transparent;
  border-radius: 1px;

  color: #b88c86;

  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.025em;

  transition:
    background 90ms ease,
    border-color 90ms ease,
    color 90ms ease,
    box-shadow 90ms ease;
}

.theme-calm .nav a::before {
  content: ">";

  display: inline-block;
  width: 15px;

  color: #6b332e;

  transition: color 90ms ease;
}

.theme-calm .nav a:hover {
  transform: none;

  border-color: rgba(255, 89, 75, 0.20);

  background: rgba(255, 89, 75, 0.055);
  color: #ffd8d3;

  box-shadow:
    inset 2px 0 0 rgba(255, 89, 75, 0.42);
}

.theme-calm .nav a:hover::before {
  color: var(--console-red);
}

.theme-calm .nav a.active {
  border: 1px solid rgba(255, 89, 75, 0.54);

  background:
    linear-gradient(90deg, rgba(255, 89, 75, 0.17), rgba(255, 89, 75, 0.035));

  color: #fff0ed;

  box-shadow:
    inset 3px 0 0 var(--console-red),
    0 0 18px rgba(255, 89, 75, 0.07);

  font-weight: 700;
}

.theme-calm .nav a.active::before {
  color: var(--console-red-bright);
}

.theme-calm .sidebar-footer {
  padding: 17px 22px;

  border-top: 1px solid rgba(255, 89, 75, 0.26);

  background: rgba(255, 89, 75, 0.025);

  color: #76514c;

  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-calm .sidebar-footer::before {
  content: "SYS //";
  display: inline-block;

  margin-right: 6px;

  color: var(--console-red-dim);
}

/*
|--------------------------------------------------------------------------
| Main / article shell
|--------------------------------------------------------------------------
*/

.theme-calm .main {
  background:
    linear-gradient(rgba(255, 89, 75, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 89, 75, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 75% 0%, rgba(255, 89, 75, 0.055), transparent 28rem),
    #050706;

  background-size:
    32px 32px,
    32px 32px,
    auto,
    auto;
}

.theme-calm .content-shell {
  max-width: calc(var(--content-width) + 180px);
  padding: 66px 72px 112px;
}

/*
| Article header / HUD panel
*/

.theme-calm .page-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  margin-bottom: 48px;
  padding: 37px 42px 39px;

  border: 1px solid rgba(255, 89, 75, 0.48);
  border-left: 4px solid var(--console-red);
  border-radius: 1px;

  background:
    linear-gradient(100deg, rgba(255, 89, 75, 0.075), transparent 52%),
    #080b09;

  color: var(--text);

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.04),
    0 18px 42px rgba(0, 0, 0, 0.32),
    inset 0 0 46px rgba(255, 89, 75, 0.025);
}

.theme-calm .page-header::before {
  content: "";

  position: absolute;
  z-index: -1;

  inset: 0;

  display: block;

  background:
    linear-gradient(rgba(255, 89, 75, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 89, 75, 0.055) 1px, transparent 1px);

  background-size: 22px 22px;

  mask-image:
    linear-gradient(90deg, transparent 18%, #000 100%);
}

.theme-calm .page-header::after {
  content: "";

  position: absolute;
  z-index: -1;

  display: block;

  width: 148px;
  height: 148px;

  top: -50px;
  right: 24px;

  border: 1px solid rgba(255, 89, 75, 0.22);
  border-radius: 50%;

  background:
    radial-gradient(circle, transparent 0 31%, rgba(255, 89, 75, 0.08) 32% 33%, transparent 34%),
    linear-gradient(90deg, transparent 49.5%, rgba(255, 89, 75, 0.12) 50%, transparent 50.5%),
    linear-gradient(0deg, transparent 49.5%, rgba(255, 89, 75, 0.12) 50%, transparent 50.5%);

  box-shadow:
    0 0 0 20px rgba(255, 89, 75, 0.016),
    0 0 0 42px rgba(255, 89, 75, 0.01);
}

.theme-calm .page-kicker {
  width: fit-content;

  margin-bottom: 15px;
  padding: 0;

  border: 0;
  border-radius: 0;

  background: transparent;

  color: var(--console-amber);

  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;

  backdrop-filter: none;
}

.theme-calm .page-kicker::before {
  display: inline-block;

  width: 7px;
  height: 7px;

  border: 1px solid var(--console-amber);
  border-radius: 0;

  background: transparent;

  box-shadow:
    0 0 8px rgba(255, 177, 78, 0.24);
}

.theme-calm .page-title {
  max-width: 760px;

  color: #ffe2de;

  font-size: clamp(38px, 4.7vw, 54px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: 0.025em;
  text-transform: uppercase;

  text-shadow:
    0 0 18px rgba(255, 89, 75, 0.13);

  text-wrap: balance;
}

/*
|--------------------------------------------------------------------------
| Article content
|--------------------------------------------------------------------------
*/

.theme-calm .content {
  color: #c8aaa5;

  font-size: 16px;
  line-height: 1.68;

  letter-spacing: 0.005em;
}

.theme-calm .content h1,
.theme-calm .content h2,
.theme-calm .content h3,
.theme-calm .content h4,
.theme-calm .content h5,
.theme-calm .content h6 {
  color: #f4d1cc;

  font-family:
    "SFMono-Regular",
    "Cascadia Code",
    "Roboto Mono",
    Consolas,
    monospace;

  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;

  text-shadow:
    0 0 12px rgba(255, 89, 75, 0.08);
}

.theme-calm .content h1 {
  font-size: 30px;
}

.theme-calm .content h2 {
  position: relative;

  padding-left: 18px;

  font-size: 25px;
}

.theme-calm .content h2::before {
  content: "";

  position: absolute;
  display: block;

  left: 0;
  top: 0.12em;
  bottom: 0.12em;

  width: 4px;

  border-radius: 0;

  background: var(--console-red);

  box-shadow:
    0 0 9px rgba(255, 89, 75, 0.22);
}

.theme-calm .content h3 {
  font-size: 20px;
}

.theme-calm .content h4 {
  font-size: 17px;
}

.theme-calm .content strong {
  color: #f3ccc7;
  font-weight: 800;
}

.theme-calm .content a {
  color: var(--console-amber);

  font-weight: 650;

  text-decoration-line: underline;
  text-decoration-color: rgba(255, 177, 78, 0.44);
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.theme-calm .content a:hover {
  background: rgba(255, 177, 78, 0.08);
  color: #ffd08a;

  text-decoration-color: var(--console-amber);
}

.theme-calm .content li::marker {
  color: var(--console-red);
  font-weight: 800;
}

/*
| Images
*/

.theme-calm .content img {
  border: 1px solid rgba(255, 89, 75, 0.42);
  border-radius: 1px;

  background: #090d0b;

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.05),
    0 16px 38px rgba(0, 0, 0, 0.38);

  filter:
    saturate(0.82)
    contrast(1.04);
}

/*
| Tables
*/

.theme-calm .content .table-wrap,
.theme-calm .content > table {
  border: 1px solid rgba(255, 89, 75, 0.38);
  border-radius: 1px;

  background: #080b09;

  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.28);
}

.theme-calm .content table {
  background: #080b09;
  color: #c8aaa5;
}

.theme-calm .content th,
.theme-calm .content td {
  border-right-color: rgba(255, 89, 75, 0.16);
  border-bottom-color: rgba(255, 89, 75, 0.16);
}

.theme-calm .content th {
  background:
    linear-gradient(180deg, rgba(255, 89, 75, 0.14), rgba(255, 89, 75, 0.075));

  color: #ffb0a8;

  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.theme-calm .content td {
  background: #080b09;
}

.theme-calm .content tbody tr:nth-child(even) td {
  background: #0b0e0c;
}

/*
| Quotes / terminal transmission
*/

.theme-calm .content blockquote {
  position: relative;

  padding: 25px 22px 20px;

  border: 1px solid rgba(255, 177, 78, 0.30);
  border-left: 4px solid var(--console-amber);
  border-radius: 1px;

  background: rgba(255, 177, 78, 0.045);

  color: #d6bda5;

  box-shadow: none;
}

.theme-calm .content blockquote::before {
  content: "// TRANSMISSION";

  display: block;

  margin-bottom: 9px;

  color: var(--console-amber);

  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.15em;
}

/*
| Inline code
*/

.theme-calm .content code {
  border: 1px solid rgba(118, 255, 159, 0.20);
  border-radius: 1px;

  background: rgba(118, 255, 159, 0.045);
  color: var(--console-green);

  font-family: inherit;
  font-weight: 550;
}

/*
| Code blocks
*/

.theme-calm .content pre {
  position: relative;

  border: 1px solid rgba(118, 255, 159, 0.34);
  border-top: 3px solid var(--console-green);
  border-radius: 1px;

  background:
    linear-gradient(rgba(118, 255, 159, 0.024) 1px, transparent 1px),
    #030604;

  background-size:
    100% 4px,
    auto;

  color: #b9ffca;

  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.36),
    inset 0 0 30px rgba(118, 255, 159, 0.025);

  text-shadow:
    0 0 8px rgba(118, 255, 159, 0.08);
}

.theme-calm .content hr {
  height: 1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      var(--console-red-dim) 12%,
      var(--console-red) 50%,
      var(--console-red-dim) 88%,
      transparent
    );

  opacity: 0.55;
}

/*
| Confluence callouts
*/

.theme-calm .content .confluence-information-macro,
.theme-calm .content .panel:not(.code) {
  border: 1px solid rgba(255, 177, 78, 0.25) !important;
  border-left: 4px solid var(--console-amber) !important;
  border-radius: 1px !important;

  background: rgba(255, 177, 78, 0.045) !important;
  color: #d8bda0;

  box-shadow: none;
}

.theme-calm .content .confluence-information-macro-warning {
  border-color: rgba(255, 69, 56, 0.30) !important;
  border-left-color: var(--console-red) !important;

  background: rgba(255, 69, 56, 0.065) !important;
}

.theme-calm .content .confluence-information-macro-tip {
  border-color: rgba(118, 255, 159, 0.24) !important;
  border-left-color: var(--console-green) !important;

  background: rgba(118, 255, 159, 0.045) !important;
}

.theme-calm .content .confluence-information-macro-information {
  border-color: rgba(255, 177, 78, 0.24) !important;
  border-left-color: var(--console-amber) !important;

  background: rgba(255, 177, 78, 0.045) !important;
}

/*
|--------------------------------------------------------------------------
| Search results page
|--------------------------------------------------------------------------
*/

.theme-calm .search-page-input {
  border: 1px solid rgba(255, 89, 75, 0.42);
  border-radius: 1px;

  background: #080b09;
  color: #f2d8d3;

  box-shadow: none;

  font-family: inherit;
  font-weight: 500;
}

.theme-calm .search-page-input::placeholder {
  color: #80524c;
}

.theme-calm .search-page-input:focus {
  border-color: var(--console-red);

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.18),
    0 0 22px rgba(255, 89, 75, 0.07);
}

.theme-calm .search-page-button {
  border: 1px solid var(--console-red);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.14);
  color: #ffb8b1;

  box-shadow: none;

  font-family: inherit;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-calm .search-page-button:hover {
  transform: none;

  background: var(--console-red);
  color: #050706;

  box-shadow:
    0 0 18px rgba(255, 89, 75, 0.14);
}

.theme-calm .search-page-button:active {
  transform: none;
  box-shadow: none;
}

.theme-calm .search-summary {
  color: #8e625d;

  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-calm .search-result {
  margin-bottom: 11px;

  border: 1px solid rgba(255, 89, 75, 0.28);
  border-radius: 1px;

  background:
    linear-gradient(90deg, rgba(255, 89, 75, 0.045), transparent 44%),
    #080b09;

  box-shadow: none;
}

.theme-calm .search-result::after {
  color: var(--console-red);

  font-family: inherit;
  font-weight: 700;
}

.theme-calm .search-result:hover {
  transform: translateX(3px);

  border-color: rgba(255, 89, 75, 0.58);

  background:
    linear-gradient(90deg, rgba(255, 89, 75, 0.09), transparent 58%),
    #090d0b;

  box-shadow:
    -3px 0 0 var(--console-red),
    0 12px 26px rgba(0, 0, 0, 0.25);
}

.theme-calm .search-result-title {
  color: #f2cbc6;

  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.theme-calm .search-result-snippet {
  color: #ad8e89;
  font-weight: 450;
}

.theme-calm .search-empty {
  border: 1px dashed rgba(255, 89, 75, 0.42);
  border-radius: 1px;

  background: #080b09;

  box-shadow: none;
}

.theme-calm .search-empty-icon {
  border: 1px solid rgba(255, 89, 75, 0.45);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.07);
  color: var(--console-red);

  box-shadow:
    0 0 18px rgba(255, 89, 75, 0.08);
}

.theme-calm .search-empty h2 {
  color: #efc9c4;

  font-family: inherit;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-calm .search-empty p {
  color: #936e69;
}

/*
|--------------------------------------------------------------------------
| Homepage — console front door
|--------------------------------------------------------------------------
*/

.theme-calm.homepage {
  background: #050706;
}

.theme-calm.homepage .home-topbar {
  border-bottom: 1px solid rgba(255, 89, 75, 0.32);

  background:
    linear-gradient(90deg, rgba(255, 89, 75, 0.06), transparent 50%),
    rgba(3, 5, 4, 0.92);

  backdrop-filter: none;
}

.theme-calm.homepage .home-brand {
  color: #ffdad5;
}

.theme-calm.homepage .home-brand-logo {
  filter:
    grayscale(1)
    sepia(1)
    saturate(6)
    hue-rotate(320deg)
    brightness(1.12);
}

.theme-calm.homepage .home-brand-mark {
  border: 1px solid var(--console-red);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.08);
  color: var(--console-red-bright);

  box-shadow:
    0 0 16px rgba(255, 89, 75, 0.11);
}

.theme-calm.homepage .home-brand-name {
  color: #ffd8d3;

  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

/*
| Homepage hero
*/

.theme-calm .home-hero {
  min-height: 410px;

  border: 0;
  border-radius: 0;

  background:
    radial-gradient(circle at 80% 42%, rgba(255, 89, 75, 0.12), transparent 15rem),
    radial-gradient(circle at 20% 72%, rgba(255, 177, 78, 0.05), transparent 18rem),
    linear-gradient(rgba(255, 89, 75, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 89, 75, 0.045) 1px, transparent 1px),
    linear-gradient(135deg, #070a08 0%, #040605 55%, #090805 100%);

  background-size:
    auto,
    auto,
    34px 34px,
    34px 34px,
    auto;

  box-shadow:
    inset 0 -1px 0 rgba(255, 89, 75, 0.32);
}

.theme-calm .home-hero::before {
  content: "";

  position: absolute;
  z-index: -1;
  inset: 0;

  background:
    linear-gradient(90deg, transparent 49.85%, rgba(255, 89, 75, 0.09) 50%, transparent 50.15%),
    linear-gradient(0deg, transparent 49.85%, rgba(255, 89, 75, 0.06) 50%, transparent 50.15%),
    radial-gradient(circle at 50% 50%, transparent 0 126px, rgba(255, 89, 75, 0.09) 127px 128px, transparent 129px),
    radial-gradient(circle at 50% 50%, transparent 0 198px, rgba(255, 89, 75, 0.045) 199px 200px, transparent 201px);

  opacity: 1;

  pointer-events: none;
}

.theme-calm .home-hero::after {
  content: "";

  position: absolute;
  z-index: -1;

  width: 250px;
  height: 250px;

  right: 5%;
  bottom: -118px;

  border: 1px solid rgba(255, 89, 75, 0.20);
  border-radius: 50%;

  background:
    repeating-conic-gradient(
      from 0deg,
      rgba(255, 89, 75, 0.12) 0deg 1deg,
      transparent 1deg 14deg
    );

  box-shadow:
    inset 0 0 0 38px #050706,
    inset 0 0 0 39px rgba(255, 89, 75, 0.16),
    inset 0 0 0 72px #050706;

  opacity: 0.72;

  pointer-events: none;
}

.theme-calm .home-title {
  color: #ffb6af;

  font-size: clamp(42px, 5vw, 61px);
  font-weight: 700;
  letter-spacing: 0.075em;
  text-transform: uppercase;

  text-shadow:
    0 0 10px rgba(255, 89, 75, 0.18),
    0 0 28px rgba(255, 89, 75, 0.08);
}

.theme-calm .home-title::before {
  content: "[ ";
  color: var(--console-red-dim);
}

.theme-calm .home-title::after {
  content: " ]";
  color: var(--console-red-dim);
}

.theme-calm .home-subtitle {
  color: #9d6c66;

  font-size: 13px;
  font-weight: 550;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

/*
| Homepage search
*/

.theme-calm .home-search {
  border: 1px solid rgba(255, 89, 75, 0.58);
  border-radius: 1px;

  background: rgba(4, 7, 5, 0.96);

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.06),
    0 0 26px rgba(255, 89, 75, 0.08),
    0 18px 38px rgba(0, 0, 0, 0.34);
}

.theme-calm .home-search:focus-within {
  transform: none;

  border-color: var(--console-red);

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.12),
    0 0 30px rgba(255, 89, 75, 0.12),
    0 18px 38px rgba(0, 0, 0, 0.36);
}

.theme-calm .home-search-icon {
  color: var(--console-red);
}

.theme-calm .home-search-input {
  color: #ffd7d2;

  font-family: inherit;
  font-weight: 500;
  letter-spacing: 0.025em;
}

.theme-calm .home-search-input::placeholder {
  color: #794a45;
}

.theme-calm .home-search-button {
  border: 1px solid var(--console-red);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.13);
  color: var(--console-red-bright);

  box-shadow:
    inset 0 0 14px rgba(255, 89, 75, 0.05);
}

.theme-calm .home-search-button:hover {
  transform: none;

  background: var(--console-red);
  color: #050706;

  box-shadow:
    0 0 18px rgba(255, 89, 75, 0.14);

  filter: none;
}

.theme-calm .home-search-button:focus-visible {
  outline: 1px solid var(--console-red-bright);
  outline-offset: 4px;
}

/*
| Homepage topics
*/

.theme-calm .home-content-shell {
  max-width: 1240px;
  padding: 42px 48px 104px;
}

.theme-calm .home-section-title {
  color: #eabcb7;

  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.theme-calm .home-section-title::before {
  content: "// ";
  color: var(--console-red);
}

.theme-calm .home-section-meta {
  color: #7c554f;

  font-family: inherit;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.theme-calm .home-topic-card {
  min-height: 150px;

  border: 1px solid rgba(255, 89, 75, 0.25);
  border-radius: 1px;

  background:
    linear-gradient(135deg, rgba(255, 89, 75, 0.045), transparent 54%),
    #080b09;

  box-shadow: none;
}

.theme-calm .home-topic-card:hover {
  transform: translateY(-2px);

  border-color: rgba(255, 89, 75, 0.58);

  background:
    linear-gradient(135deg, rgba(255, 89, 75, 0.085), transparent 62%),
    #090d0b;

  box-shadow:
    0 0 0 1px rgba(255, 89, 75, 0.035),
    0 16px 30px rgba(0, 0, 0, 0.24);
}

.theme-calm .home-topic-icon {
  border: 1px solid rgba(255, 89, 75, 0.32);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.055);
  color: var(--console-red);

  box-shadow:
    inset 0 0 14px rgba(255, 89, 75, 0.035);
}

.theme-calm .home-topic-title {
  color: #dfb2ad;

  font-family: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.theme-calm .home-topic-count {
  color: #75514c;

  font-family: inherit;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.theme-calm .home-topic-arrow {
  color: #81423b;
}

.theme-calm .home-topic-card:hover .home-topic-arrow {
  color: var(--console-red-bright);
}

/*
|--------------------------------------------------------------------------
| Mobile
|--------------------------------------------------------------------------
*/

.theme-calm .mobile-menu-button {
  border: 1px solid var(--console-red);
  border-radius: 1px;

  background: rgba(255, 89, 75, 0.10);
  color: var(--console-red);

  box-shadow: none;
  backdrop-filter: none;
}

@media (max-width: 900px) {
  .theme-calm .mobile-header {
    border-bottom: 1px solid rgba(255, 89, 75, 0.38);

    background:
      linear-gradient(90deg, rgba(255, 89, 75, 0.06), transparent),
      rgba(3, 5, 4, 0.96);

    box-shadow:
      0 8px 28px rgba(0, 0, 0, 0.34);

    backdrop-filter: none;
  }

  .theme-calm .mobile-site-name {
    color: #ffd8d3;

    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .theme-calm .sidebar {
    box-shadow:
      14px 0 42px rgba(0, 0, 0, 0.55);
  }
}

@media (max-width: 600px) {
  .theme-calm .content-shell {
    padding: 28px 18px 72px;
  }

  .theme-calm .page-header {
    margin-bottom: 36px;
    padding: 28px 24px 30px;

    border-radius: 1px;
  }

  .theme-calm .page-title {
    font-size: 32px;
  }

  .theme-calm .home-hero {
    padding: 108px 20px 52px;
  }

  .theme-calm .home-title {
    font-size: clamp(31px, 9vw, 40px);
    letter-spacing: 0.045em;
  }

  .theme-calm .home-subtitle {
    font-size: 11px;
    letter-spacing: 0.065em;
  }

  .theme-calm .home-content-shell {
    padding: 30px 18px 64px;
  }

  .theme-calm .home-topic-card {
    min-height: 126px;
  }
}


