/* ============================================================
   Intelligent Risk Platform — credit-risk product page (layered on style.css)
   ============================================================ */

.rk-sub { margin-bottom: 14px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--mute); }
html.is-local .rk-sub { font-family: var(--f-body); font-size: 14px; letter-spacing: .04em; }
.rk-lead--wide { max-width: 980px; }

/* ---------- Hero ---------- */
.rk-hero::before {
  background:
    radial-gradient(900px 600px at 80% 40%, rgba(47, 107, 255, 0.28), transparent 60%),
    radial-gradient(520px 380px at 60% 90%, rgba(255, 198, 92, 0.06), transparent 70%),
    radial-gradient(600px 400px at 10% 10%, rgba(60, 211, 255, 0.10), transparent 70%),
    linear-gradient(180deg, #050d26 0%, var(--ink) 100%);
}
.rk-hero__inner { display: grid; grid-template-columns: 1.08fr 0.92fr; gap: 56px; align-items: center; min-height: 640px; padding-bottom: 72px; }
.rk-hero__title { font-size: clamp(34px, 3.9vw, 54px); }
.rk-pillars { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.rk-pillars li { padding: 9px 16px 9px 14px; border-radius: 12px; border: 1px solid var(--line-strong); border-left: 2px solid var(--cyan); background: rgba(47, 107, 255, 0.07); }
.rk-pillars b { color: var(--ice); font-size: 14.5px; font-weight: 600; }
.rk-hero .hero__ctas { margin-top: 28px; }
.rk-hero .hero__stats { margin-top: 40px; }

.rk-dec { border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: rgba(5, 12, 34, 0.88); backdrop-filter: blur(14px); overflow: hidden; box-shadow: 0 50px 90px -40px rgba(47, 107, 255, 0.7), 0 0 0 1px rgba(60, 211, 255, 0.06) inset; }
.rk-dec__bar { display: flex; align-items: center; gap: 14px; padding: 11px 16px; border-bottom: 1px solid var(--line); background: rgba(11, 24, 64, 0.6); font-size: 11.5px; color: var(--mute); }
.rk-dec__app { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; padding: 14px 18px 6px; }
.rk-dec__id { font-size: 12.5px; color: var(--cyan); }
.rk-dec__meta { font-size: 13px; color: var(--text); }
.rk-dec__steps { display: grid; gap: 4px; padding: 8px 14px; min-height: 330px; align-content: start; }
.rk-step { display: grid; grid-template-columns: 18px 1fr auto 46px; align-items: center; gap: 12px; padding: 8px 10px; border-radius: 10px; border: 1px solid transparent; animation: lineIn .35s var(--ease) both; }
.rk-step b { display: block; font-size: 13.5px; font-weight: 600; color: var(--ice); }
.rk-step small { display: block; margin-top: 1px; font-size: 11.5px; color: var(--mute); line-height: 1.4; }
.rk-step em { font: normal 500 12px/1 var(--f-mono); padding: 4px 8px; border-radius: 6px; white-space: nowrap; color: var(--ok); background: rgba(92, 242, 176, 0.1); }
.rk-step time { font: 11px/1 var(--f-mono); color: #52648f; text-align: right; }
.rk-step__dot { width: 12px; height: 12px; border-radius: 50%; justify-self: center; background: var(--ok); box-shadow: 0 0 10px rgba(92, 242, 176, 0.6); }
.rk-step.is-run { border-color: var(--line); background: rgba(16, 32, 78, 0.45); }
.rk-step.is-run .rk-step__dot { background: transparent; border: 1.5px solid var(--line-strong); border-top-color: var(--cyan); box-shadow: none; animation: rkSpin .7s linear infinite; }
.rk-step.is-run em, .rk-step.is-run time { opacity: 0; }
.rk-step.is-warn .rk-step__dot { background: var(--warn); box-shadow: 0 0 10px rgba(255, 198, 92, 0.6); }
.rk-step.is-warn em { color: var(--warn); background: rgba(255, 198, 92, 0.12); }
.rk-step.is-bad .rk-step__dot { background: #ff6b81; box-shadow: 0 0 10px rgba(255, 107, 129, 0.6); }
.rk-step.is-bad em { color: #ff8b9c; background: rgba(255, 107, 129, 0.12); }
.rk-step.is-bad, .rk-step.is-warn { border-color: var(--line); background: rgba(16, 32, 78, 0.35); }
@keyframes rkSpin { to { transform: rotate(360deg); } }
.rk-dec__out { display: flex; align-items: center; gap: 14px; min-height: 76px; margin: 4px 14px 14px; padding: 14px 16px; border-radius: 14px; border: 1px dashed var(--line-strong); }
.rk-dec__out.is-show { border-style: solid; animation: lineIn .4s var(--ease); }
.rk-dec__out.is-ok { border-color: rgba(92, 242, 176, 0.5); background: linear-gradient(110deg, rgba(92, 242, 176, 0.14), rgba(92, 242, 176, 0.02)); }
.rk-dec__out.is-warn { border-color: rgba(255, 198, 92, 0.5); background: linear-gradient(110deg, rgba(255, 198, 92, 0.14), rgba(255, 198, 92, 0.02)); }
.rk-dec__out.is-bad { border-color: rgba(255, 107, 129, 0.5); background: linear-gradient(110deg, rgba(255, 107, 129, 0.14), rgba(255, 107, 129, 0.02)); }
.rk-dec__verdict { flex: none; padding: 6px 10px; border-radius: 8px; font: 600 12px/1 var(--f-mono); letter-spacing: .06em; color: #04121c; background: var(--ok); }
.is-warn .rk-dec__verdict { background: var(--warn); color: #1a1300; }
.is-bad .rk-dec__verdict { background: #ff6b81; color: #22040a; }
.rk-dec__out p { flex: 1; font-size: 13.5px; color: var(--ice); line-height: 1.45; }
.rk-dec__out time { font: 11.5px/1 var(--f-mono); color: var(--mute); white-space: nowrap; }
.rk-dec__wait { font: 12px/1 var(--f-mono); color: var(--mute); }

/* ---------- Business model (Fig 1) ---------- */
.rk-eco { display: grid; grid-template-columns: 1fr 44px 2fr 44px 1fr; align-items: stretch; }
.rk-eco__side { padding: 24px; border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: rgba(16, 32, 78, 0.5); text-align: center; }
.rk-eco h3 { font-size: 18px; margin-bottom: 14px; }
.rk-eco__side li { padding: 7px 0; font-size: 14px; color: var(--text); }
.rk-eco__side li + li { border-top: 1px solid var(--line); }
.rk-eco__arrow { position: relative; align-self: center; height: 2px; margin: 0 6px; background: repeating-linear-gradient(90deg, var(--cyan) 0 4px, transparent 4px 8px); background-size: 16px 2px; animation: flowRight .8s linear infinite; }
.rk-eco__arrow::after { content: ""; position: absolute; right: -4px; top: -6px; border-block: 7px solid transparent; border-left: 10px solid var(--cyan); }
.rk-eco__core { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 30px 28px; border-radius: var(--r-lg); border: 1px solid rgba(60, 211, 255, 0.6); background: radial-gradient(400px 200px at 50% 0%, rgba(60, 211, 255, 0.25), transparent 70%), linear-gradient(160deg, #2a62f0, #1846c4); box-shadow: 0 30px 70px -26px rgba(47, 107, 255, 0.9); text-align: center; }
.rk-eco__core h3 { font-size: 24px; color: #fff; margin: 0; }
.rk-eco__core > p { font-size: 13px; letter-spacing: .06em; color: #d4e2ff; }
.rk-eco__flow { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.rk-eco__flow li { padding: 6px 12px; border-radius: 99px; background: rgba(4, 10, 28, 0.32); border: 1px solid rgba(255, 255, 255, 0.22); font-size: 13px; color: #fff; }

.rk-cap { margin-top: 44px; }
.rk-cap ul { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.rk-cap li { padding: 16px 12px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(4, 10, 28, 0.5); text-align: center; font-size: 15px; font-weight: 600; color: var(--ice); }

.rk-scope { margin-top: 44px; }
.rk-traits { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 14px; }
.rk-traits li { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px 12px; border-radius: var(--r); border: 1px solid rgba(60, 211, 255, 0.45); background: linear-gradient(120deg, rgba(47, 107, 255, 0.32), rgba(47, 107, 255, 0.08)); box-shadow: 0 16px 34px -20px rgba(47, 107, 255, 0.9); font-size: 15px; font-weight: 600; color: #fff; text-align: center; }
.rk-traits li::before { content: ""; flex: none; width: 12px; height: 7px; border-left: 2px solid var(--cyan); border-bottom: 2px solid var(--cyan); transform: rotate(-45deg) translateY(-2px); }
.rk-scope__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.rk-scope__grid article { padding: 24px 20px; border-radius: var(--r-lg); border: 1px solid var(--line); background: linear-gradient(180deg, rgba(16, 32, 78, 0.55), rgba(4, 10, 28, 0.2)); }
.rk-scope__grid h3 { font-size: 17px; margin: 12px 0 8px; }
.rk-scope__grid p { font-size: 14px; color: var(--mute); }
.rk-scope__grid .is-key { border-color: rgba(60, 211, 255, 0.5); background: radial-gradient(300px 200px at 100% 0%, rgba(60, 211, 255, 0.18), transparent 70%), linear-gradient(180deg, rgba(47, 107, 255, 0.35), rgba(4, 10, 28, 0.3)); }

/* ---------- Construction goals timeline (Fig 11) ---------- */
.rk-tl { display: grid; grid-template-columns: repeat(17, minmax(0, 1fr)); grid-template-rows: auto 2px auto; margin-top: 8px; }
.rk-tl__axis { position: relative; grid-row: 2; grid-column: 1 / 16; background: linear-gradient(90deg, rgba(60, 211, 255, 0.4), var(--cyan) 40%, var(--blue-hi)); }
.rk-tl__axis::after { content: ""; position: absolute; right: -4px; top: -6px; border-block: 7px solid transparent; border-left: 11px solid var(--blue-hi); }
.rk-tl__end { position: absolute; left: calc(100% + 18px); top: 50%; transform: translateY(-50%); font: 600 17px/1.35 var(--f-body); color: var(--cyan); white-space: nowrap; }
.rk-tl__item { position: relative; grid-column: var(--c) / span 3; padding-left: 16px; padding-right: 10px; border-left: 1px solid var(--line-strong); }
.rk-tl__item::before { content: ""; position: absolute; left: -7px; width: 13px; height: 13px; border-radius: 50%; background: var(--ink); border: 2px solid var(--cyan); box-shadow: 0 0 12px rgba(60, 211, 255, 0.6); }
.rk-tl__item.is-up { grid-row: 1; align-self: end; padding-bottom: 26px; }
.rk-tl__item.is-up::before { bottom: -7px; }
.rk-tl__item.is-down { grid-row: 3; padding-top: 26px; }
.rk-tl__item.is-down::before { top: -7px; }
.rk-tl__item h4 { font-size: 18px; color: var(--cyan); margin-bottom: 10px; }
.rk-tl__item li { font-size: 13.5px; line-height: 1.5; color: var(--text); padding: 3px 0; }

.rk-phase { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 44px; }
.rk-phase article { border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: rgba(4, 10, 28, 0.55); overflow: hidden; }
.rk-phase h4 { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px 16px; background: linear-gradient(120deg, #1f4ed8, var(--blue)); text-align: center; }
.rk-phase h4 span { font-size: 10.5px; letter-spacing: .14em; color: #c7d8ff; }
.rk-phase h4 b { font-size: 16px; color: #fff; }
.rk-phase ul { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 18px; }
.rk-phase ul.is-col { grid-template-columns: 1fr; }
.rk-phase li { padding: 10px 12px; border-radius: 99px; background: rgba(47, 107, 255, 0.14); border: 1px solid var(--line); text-align: center; font-size: 14px; color: var(--ice); }

/* ---------- Layered stack (Fig 2) ---------- */
.rk-stack { display: grid; gap: 14px; }
.rk-stack__row { position: relative; display: grid; grid-template-columns: 210px 1fr; align-items: center; gap: 24px; padding: 22px 28px; border-radius: 16px; border: 1px solid rgba(120, 170, 255, 0.28); background: linear-gradient(100deg, hsl(222 92% calc(54% - var(--i) * 7%) / calc(0.95 - var(--i) * 0.2)), hsl(222 80% calc(36% - var(--i) * 6%) / calc(0.75 - var(--i) * 0.16))); }
.rk-stack__row + .rk-stack__row::before { content: ""; position: absolute; left: 50%; top: -14px; transform: translateX(-50%); border-inline: 9px solid transparent; border-bottom: 9px solid var(--cyan); filter: drop-shadow(0 0 6px rgba(60, 211, 255, 0.7)); }
.rk-stack__k small { display: block; font-size: 11px; letter-spacing: .14em; color: #c7d8ff; }
.rk-stack__k b { font-size: 24px; color: #fff; }
.rk-stack__row p { font-size: 15.5px; color: #eef3ff; line-height: 1.7; }
.rk-stack__foot { padding: 14px 20px; border-radius: 12px; border: 1px solid var(--line-strong); background: rgba(60, 211, 255, 0.06); text-align: center; font-size: 14px; font-weight: 600; color: var(--ice); }

/* ---------- Four decoupled layers (Fig 9) ---------- */
.rk-ring { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 28px 200px; }
.rk-ring__q { position: relative; padding: 28px 30px; border-radius: var(--r-lg); border: 1px solid var(--line-strong); min-height: 190px; }
.rk-ring__q h4 { font-size: 21px; margin-bottom: 14px; }
.rk-ring__q li { font-size: 14.5px; line-height: 1.8; color: var(--text); }
.rk-ring__q.is-tl { background: linear-gradient(140deg, rgba(60, 211, 255, 0.14), rgba(16, 32, 78, 0.4)); }
.rk-ring__q.is-tr { background: linear-gradient(140deg, #1e48c8, #0f2b86); border-color: rgba(60, 211, 255, 0.4); }
.rk-ring__q.is-bl { background: linear-gradient(200deg, rgba(47, 107, 255, 0.55), rgba(47, 107, 255, 0.18)); }
.rk-ring__q.is-br { background: rgba(16, 32, 78, 0.55); }
.rk-ring__q.is-tr li, .rk-ring__q.is-bl li { color: #e3ecff; }
.rk-ring__q.is-tr, .rk-ring__q.is-br { padding-left: 64px; }
.rk-ring__q.is-tl, .rk-ring__q.is-bl { padding-right: 64px; }
.rk-ring__ico { position: absolute; top: 50%; display: grid; place-items: center; width: 64px; height: 64px; margin-top: -32px; border-radius: 50%; background: linear-gradient(135deg, var(--blue), #1f8bff); box-shadow: 0 0 0 8px rgba(47, 107, 255, 0.14), 0 14px 30px -10px rgba(47, 107, 255, 0.9); z-index: 1; }
.rk-ring__ico svg { width: 26px; height: 26px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.is-tl .rk-ring__ico, .is-bl .rk-ring__ico { right: -32px; }
.is-tr .rk-ring__ico, .is-br .rk-ring__ico { left: -32px; }
.rk-ring__core { position: absolute; left: 50%; top: 50%; display: grid; place-items: center; width: 210px; height: 210px; margin: -105px 0 0 -105px; border-radius: 50%; border: 1px dashed rgba(60, 211, 255, 0.5); background: radial-gradient(circle, rgba(4, 10, 28, 0.95) 52%, rgba(47, 107, 255, 0.2) 53%, rgba(4, 10, 28, 0.9) 70%); pointer-events: none; }
.rk-ring__core b { display: grid; place-items: center; width: 128px; height: 128px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #52e0ff, #2f6bff 70%); box-shadow: 0 0 40px rgba(60, 211, 255, 0.55); text-align: center; font-size: 15px; line-height: 1.35; color: #fff; }
.rk-ring__core::before { content: ""; position: absolute; inset: -14px; border-radius: 50%; border: 1px solid rgba(60, 211, 255, 0.18); animation: rkSpin 24s linear infinite; border-top-color: var(--cyan); }

/* ---------- Platform architecture (Fig 5) ---------- */
.rk-pa { position: relative; isolation: isolate; display: grid; gap: 16px; padding: 30px; border-radius: var(--r-lg); overflow: hidden; counter-reset: pa; background: linear-gradient(var(--cyan), var(--cyan)) top 10px left 10px / 18px 2px, linear-gradient(var(--cyan), var(--cyan)) top 10px left 10px / 2px 18px, linear-gradient(var(--cyan), var(--cyan)) top 10px right 10px / 18px 2px, linear-gradient(var(--cyan), var(--cyan)) top 10px right 10px / 2px 18px, linear-gradient(var(--cyan), var(--cyan)) bottom 10px left 10px / 18px 2px, linear-gradient(var(--cyan), var(--cyan)) bottom 10px left 10px / 2px 18px, linear-gradient(var(--cyan), var(--cyan)) bottom 10px right 10px / 18px 2px, linear-gradient(var(--cyan), var(--cyan)) bottom 10px right 10px / 2px 18px, linear-gradient(rgba(90, 140, 255, 0.07) 1px, transparent 1px) 0 0 / 32px 32px, linear-gradient(90deg, rgba(90, 140, 255, 0.07) 1px, transparent 1px) 0 0 / 32px 32px, radial-gradient(700px 300px at 12% 0%, rgba(60, 211, 255, 0.12), transparent 70%), radial-gradient(800px 360px at 90% 100%, rgba(47, 107, 255, 0.22), transparent 70%), rgba(3, 8, 24, 0.9); background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, repeat, repeat, no-repeat, no-repeat; box-shadow: 0 50px 100px -40px rgba(47, 107, 255, 0.65); }
.rk-pa::before { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--rk-a), rgba(120, 170, 255, 0.22) 0deg, var(--cyan) 40deg, rgba(120, 170, 255, 0.22) 90deg, rgba(120, 170, 255, 0.22) 180deg, var(--blue-hi) 220deg, rgba(120, 170, 255, 0.22) 270deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: rkFrame 8s linear infinite; pointer-events: none; }
.rk-pa::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; z-index: -1; height: 140px; background: linear-gradient(0deg, transparent, rgba(60, 211, 255, 0.10) 70%, rgba(60, 211, 255, 0.45) 99%, transparent); animation: rkRise 6s cubic-bezier(.45, 0, .55, 1) infinite; pointer-events: none; }
@keyframes rkRise { 0% { top: 100%; } 75%, 100% { top: -160px; } }
.rk-pa__row { position: relative; display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 18px; padding: 16px 18px 16px 22px; border-radius: 14px; border: 1px solid rgba(90, 150, 255, 0.28); background: linear-gradient(90deg, rgba(47, 107, 255, 0.2), rgba(11, 24, 64, 0.5) 22%, rgba(8, 18, 50, 0.45)); backdrop-filter: blur(2px); counter-increment: pa; transition: border-color .3s, box-shadow .3s; }
.rk-pa__row::before { content: ""; position: absolute; left: -1px; top: 16px; bottom: 16px; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--cyan), var(--blue)); box-shadow: 0 0 12px rgba(60, 211, 255, 0.8); }
.rk-pa__row:hover { border-color: rgba(60, 211, 255, 0.55); box-shadow: 0 0 0 1px rgba(60, 211, 255, 0.12), 0 0 40px -12px rgba(60, 211, 255, 0.5); }
.rk-pa > :not(:first-child)::after { content: ""; position: absolute; left: 20%; right: 20%; top: -17px; height: 16px; background: linear-gradient(var(--cyan) 0 3px, transparent 3px) 0 0 / 2px 7px repeat-y, linear-gradient(var(--cyan) 0 3px, transparent 3px) 50% 0 / 2px 7px repeat-y, linear-gradient(var(--cyan) 0 3px, transparent 3px) 100% 0 / 2px 7px repeat-y; opacity: .7; filter: drop-shadow(0 0 3px rgba(60, 211, 255, 0.9)); animation: rkUp .7s linear infinite; pointer-events: none; }
@keyframes rkUp { to { background-position: 0 -7px, 50% -7px, 100% -7px; } }
.rk-pa__k { position: relative; display: block; font-size: 19px; line-height: 1.3; color: #fff; text-shadow: 0 0 18px rgba(60, 211, 255, 0.45); }
.rk-pa__k::before { content: "L" counter(pa, decimal-leading-zero); display: block; width: max-content; margin-bottom: 6px; padding: 1px 6px; border-radius: 4px; border: 1px solid rgba(60, 211, 255, 0.45); background: rgba(60, 211, 255, 0.1); font: 500 10.5px/1.5 var(--f-mono); letter-spacing: .12em; color: var(--cyan); text-shadow: none; }
.rk-pa__groups { display: grid; grid-template-columns: 1.55fr 1fr 1fr 1fr; gap: 12px; }
.rk-pa__g { position: relative; padding: 12px; border-radius: 12px; border: 1px solid rgba(60, 211, 255, 0.16); background: linear-gradient(180deg, rgba(60, 211, 255, 0.05), rgba(3, 8, 24, 0.55)); }
.rk-pa__g::before, .rk-pa__g::after { content: ""; position: absolute; width: 10px; height: 10px; border-color: var(--cyan); border-style: solid; opacity: .8; }
.rk-pa__g::before { left: -1px; top: -1px; border-width: 2px 0 0 2px; border-top-left-radius: 12px; }
.rk-pa__g::after { right: -1px; bottom: -1px; border-width: 0 2px 2px 0; border-bottom-right-radius: 12px; }
.rk-pa__g h5 { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 14px; letter-spacing: .04em; color: var(--ice); }
.rk-pa__g h5::before, .rk-pa__g h5::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(60, 211, 255, 0.6)); }
.rk-pa__g h5::after { transform: scaleX(-1); }
.rk-pa__g ul { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rk-pa__g--3 ul { grid-template-columns: repeat(3, 1fr); }
.rk-pa li { --d: 0; position: relative; overflow: hidden; display: grid; place-items: center; min-height: 38px; padding: 6px 8px; border-radius: 8px; border: 1px solid rgba(90, 170, 255, 0.42); background: linear-gradient(180deg, rgba(47, 107, 255, 0.46), rgba(28, 70, 165, 0.3)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), inset 0 -10px 18px -12px rgba(60, 211, 255, 0.5); text-align: center; font-size: 13px; line-height: 1.3; color: #f2f6ff; transition: border-color .25s, box-shadow .25s, transform .25s var(--ease); }
.rk-pa li::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(170, 235, 255, 0.35) 50%, transparent 65%); transform: translateX(-120%); animation: rkChip 7s ease-in-out infinite; animation-delay: calc(var(--d) * .3s); pointer-events: none; }
@keyframes rkChip { 0% { transform: translateX(-120%); } 22%, 100% { transform: translateX(120%); } }
.rk-pa li:nth-child(2) { --d: 1; } .rk-pa li:nth-child(3) { --d: 2; } .rk-pa li:nth-child(4) { --d: 3; } .rk-pa li:nth-child(5) { --d: 4; } .rk-pa li:nth-child(6) { --d: 5; } .rk-pa li:nth-child(7) { --d: 6; } .rk-pa li:nth-child(8) { --d: 7; }
.rk-pa li:hover { border-color: var(--cyan); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 0 18px -2px rgba(60, 211, 255, 0.7); transform: translateY(-1px); }
.rk-pa__pair { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rk-pa__flat { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.rk-pa__flat--wide { grid-template-columns: repeat(3, 1fr); gap: 24px; padding-inline: 24px; }
.rk-pa__flat--data { grid-template-columns: repeat(8, 1fr); }
.rk-pa__flat--data li:last-child { border-style: dashed; background: rgba(47, 107, 255, 0.08); box-shadow: none; }

/* ---------- System interaction (Fig 10) ---------- */
.rk-sys { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: start; }
.rk-graph { position: relative; aspect-ratio: 100 / 84; }
.rk-graph__wires { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.rk-graph__wires path { fill: none; stroke: rgba(120, 170, 255, 0.45); stroke-width: .5; stroke-dasharray: 1.6 1.2; marker-end: url(#rkArrow); transition: stroke .25s; animation: rkDash 1.4s linear infinite; }
.rk-graph__wires marker path { fill: rgba(120, 170, 255, 0.7); stroke: none; animation: none; }
.rk-graph__wires path.is-on { stroke: var(--cyan); stroke-width: .7; }
@keyframes rkDash { to { stroke-dashoffset: -5.6; } }
.rk-node { position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) / 84 * 100%); width: calc(var(--w) * 1%); height: calc(12 / 84 * 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 0 8px; border-radius: 12px; border: 1px solid var(--line-strong); background: rgba(16, 32, 78, 0.85); color: var(--ice); font: 600 15px/1.25 var(--f-body); text-align: center; cursor: pointer; transition: border-color .2s, background .2s, box-shadow .2s, transform .2s var(--ease); }
html.is-local .rk-node { font-family: var(--f-local), sans-serif; }
.rk-node small { font-size: 9.5px; font-weight: 500; letter-spacing: .14em; color: var(--mute); }
.rk-node:hover { border-color: rgba(60, 211, 255, 0.55); transform: translateY(-2px); }
.rk-node.is-link { border-color: rgba(60, 211, 255, 0.45); background: rgba(47, 107, 255, 0.25); }
.rk-node.is-on { border-color: rgba(60, 211, 255, 0.8); background: linear-gradient(120deg, var(--blue), #1f8bff); box-shadow: 0 0 0 4px rgba(60, 211, 255, 0.12), 0 16px 34px -12px rgba(47, 107, 255, 0.9); }
.rk-node.is-on small { color: #d4e2ff; }

.rk-role__card { padding: 24px; border-radius: var(--r-lg); border: 1px solid rgba(60, 211, 255, 0.45); background: linear-gradient(130deg, rgba(47, 107, 255, 0.3), rgba(47, 107, 255, 0.06)); min-height: 196px; }
.rk-role__card small { display: block; font: 11px/1 var(--f-mono); letter-spacing: .14em; color: var(--cyan); }
.rk-role__card h3 { margin: 10px 0 10px; font-size: 22px; }
.rk-role__card p { font-size: 15px; color: var(--text); }
.rk-role__card ul { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.rk-role__card li { font-size: 12px; padding: 4px 10px; border-radius: 99px; background: rgba(4, 10, 28, 0.4); border: 1px solid var(--line-strong); color: var(--ice); }
.rk-role__card.is-anim { animation: lineIn .35s var(--ease); }
.rk-role__list { display: grid; gap: 2px; margin-top: 16px; }
.rk-role__list li { display: grid; grid-template-columns: 9em 1fr; gap: 12px; padding: 9px 4px; border-bottom: 1px solid var(--line); font-size: 13.5px; color: var(--mute); }
.rk-role__list b { color: var(--ice); font-weight: 600; }

.rk-vs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.rk-vs article { padding: 24px; border-radius: var(--r-lg); border: 1px solid var(--line); background: var(--panel); }
.rk-vs h4 { font-size: 16.5px; margin-bottom: 16px; }
.rk-vs h4 i { font-style: normal; font: 500 12px/1 var(--f-mono); margin: 0 4px; padding: 3px 7px; border-radius: 6px; color: var(--cyan); border: 1px solid rgba(60, 211, 255, 0.4); vertical-align: 2px; }
.rk-vs dl { display: grid; gap: 14px; }
.rk-vs dl > div { padding-left: 14px; border-left: 2px solid var(--line-strong); }
.rk-vs dl > div:last-child { border-left-color: var(--cyan); }
.rk-vs dt { font-size: 13.5px; font-weight: 600; color: var(--ice); margin-bottom: 4px; }
.rk-vs dd { margin: 0; font-size: 13.5px; line-height: 1.65; color: var(--mute); }

/* ---------- Subsystems (Fig 6 / 7 / 8) ---------- */
.rk-tabs { margin: 0 0 28px; flex-wrap: wrap; }
.rk-panel { display: grid; gap: 28px; animation: lineIn .35s var(--ease); }
.rk-panel[hidden] { display: none; }
.rk-panel__copy { display: grid; gap: 22px; }
.rk-panel__intro { display: grid; grid-template-columns: 300px 1fr; gap: 40px; align-items: end; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.rk-panel__intro .tag { margin-bottom: 12px; }
.rk-panel__intro h3 { font: 500 clamp(26px, 2.8vw, 36px)/1.15 var(--f-display); letter-spacing: -0.02em; }
html.is-local .rk-panel__intro h3 { font-family: var(--f-local), sans-serif; font-weight: 700; letter-spacing: 0.01em; }
.rk-panel__intro p { max-width: 820px; font-size: 16px; line-height: 1.75; color: var(--text); }
.rk-points { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; counter-reset: pt; }
.rk-points li { position: relative; padding: 18px 16px 16px; border-radius: 14px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(16, 32, 78, 0.6), rgba(4, 10, 28, 0.3)); counter-increment: pt; overflow: hidden; transition: border-color .3s, transform .3s var(--ease); }
.rk-points li::before { content: "0" counter(pt); display: block; margin-bottom: 12px; font: 500 12px/1 var(--f-mono); letter-spacing: .08em; color: var(--cyan); }
.rk-points li::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, var(--cyan), var(--blue) 60%, transparent); opacity: .7; }
.rk-points li:hover { border-color: rgba(60, 211, 255, 0.45); transform: translateY(-3px); }
.rk-points b { display: block; font-size: 15px; color: var(--ice); }
.rk-points span { display: block; margin-top: 6px; font-size: 13px; line-height: 1.55; color: var(--mute); }

/* Boards: glowing frame, grid backdrop, scan beam, live stage */
@property --rk-a { syntax: "<angle>"; initial-value: 0deg; inherits: false; }
.rk-board { position: relative; isolation: isolate; border-radius: var(--r-lg); border: 1px solid transparent; background: radial-gradient(rgba(120, 160, 255, 0.13) 1px, transparent 1px) 0 0 / 20px 20px, radial-gradient(600px 260px at 15% 0%, rgba(60, 211, 255, 0.10), transparent 70%), radial-gradient(700px 320px at 90% 100%, rgba(47, 107, 255, 0.18), transparent 70%), rgba(4, 10, 28, 0.82) padding-box; overflow-x: auto; box-shadow: 0 50px 100px -40px rgba(47, 107, 255, 0.65), 0 0 0 1px rgba(60, 211, 255, 0.08) inset; }
.rk-board::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--rk-a), rgba(120, 170, 255, 0.25) 0deg, var(--cyan) 40deg, rgba(120, 170, 255, 0.25) 90deg, rgba(120, 170, 255, 0.25) 180deg, var(--blue-hi) 220deg, rgba(120, 170, 255, 0.25) 270deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); animation: rkFrame 8s linear infinite; pointer-events: none; }
@keyframes rkFrame { to { --rk-a: 360deg; } }
.rk-board__in { position: relative; display: grid; gap: 12px; min-width: 1040px; padding: 22px; overflow: hidden; }
.rk-board__in::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 180px; background: linear-gradient(90deg, transparent, rgba(60, 211, 255, 0.07) 45%, rgba(60, 211, 255, 0.14) 50%, rgba(60, 211, 255, 0.07) 55%, transparent); transform: translateX(-200px); animation: rkScan 7s cubic-bezier(.45, 0, .55, 1) infinite; pointer-events: none; }
@keyframes rkScan { 0% { transform: translateX(-200px); } 70%, 100% { transform: translateX(1300px); } }
.rk-board li { position: relative; display: grid; place-items: center; min-height: 32px; padding: 5px 8px; border-radius: 7px; border: 1px solid var(--line-strong); background: rgba(16, 32, 78, 0.6); text-align: center; font-size: 12.5px; line-height: 1.3; color: var(--text); transition: border-color .25s, background .25s, transform .25s var(--ease), box-shadow .25s; }
.rk-board li:hover { border-color: rgba(60, 211, 255, 0.7); color: #fff; transform: translateY(-1px); box-shadow: 0 0 0 3px rgba(60, 211, 255, 0.1); }
.rk-board li.is-on { background: linear-gradient(120deg, var(--blue), #1f8bff 70%, #36b9ff); border-color: rgba(60, 211, 255, 0.55); color: #fff; box-shadow: 0 6px 18px -8px rgba(47, 107, 255, 0.95), inset 0 1px 0 rgba(255, 255, 255, 0.18); }
.rk-board li.is-soft { background: rgba(60, 211, 255, 0.1); border-color: rgba(60, 211, 255, 0.35); color: var(--ice); }
.rk-board h5 { margin-bottom: 10px; font-size: 13.5px; color: var(--ice); text-align: center; }

.rk-chev { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; counter-reset: st; }
.rk-chev--mp { grid-template-columns: 1fr 1.6fr 1fr 1fr 1fr; }
.rk-board .rk-chev li { display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 6px 24px; border: 0; border-radius: 0; clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%, 14px 50%); background: linear-gradient(100deg, rgba(47, 107, 255, 0.45) 0%, rgba(60, 211, 255, 0.22) 40%, rgba(160, 230, 255, 0.55) 50%, rgba(60, 211, 255, 0.22) 60%, rgba(47, 107, 255, 0.45) 100%) 0 0 / 300% 100%; color: #fff; font-weight: 600; font-size: 13px; counter-increment: st; animation: rkShine 6s linear infinite; animation-delay: calc(var(--k, 0) * .5s); transition: background .4s, box-shadow .4s, filter .4s; box-shadow: none; transform: none; }
.rk-board .rk-chev li::before { content: "0" counter(st); margin-right: 8px; font: 500 10.5px/1 var(--f-mono); color: rgba(220, 235, 255, 0.7); }
.rk-board .rk-chev li:first-child { clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%); }
.rk-board .rk-chev li:nth-child(2) { --k: 1; } .rk-board .rk-chev li:nth-child(3) { --k: 2; } .rk-board .rk-chev li:nth-child(4) { --k: 3; } .rk-board .rk-chev li:nth-child(5) { --k: 4; } .rk-board .rk-chev li:nth-child(6) { --k: 5; }
@keyframes rkShine { from { background-position: 100% 0; } to { background-position: -200% 0; } }
.rk-board .rk-chev li.is-live { background: linear-gradient(100deg, var(--blue), #1f8bff 60%, var(--cyan)); filter: drop-shadow(0 0 10px rgba(60, 211, 255, 0.75)); animation: none; }
.rk-board .rk-chev li.is-live::before { color: #fff; }

.rk-col { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 12px; border: 1px solid var(--line); background: linear-gradient(180deg, rgba(16, 32, 78, 0.55), rgba(11, 24, 64, 0.25)); transition: border-color .45s, box-shadow .45s, background .45s; }
.rk-de__cols > .rk-col::before, .rk-mp__cols > .rk-col::before { content: ""; position: absolute; left: 14px; right: 14px; top: -1px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--cyan), transparent); opacity: 0; transition: opacity .45s; }
.rk-col.is-live { border-color: rgba(60, 211, 255, 0.55); background: linear-gradient(180deg, rgba(47, 107, 255, 0.28), rgba(11, 24, 64, 0.3)); box-shadow: 0 0 0 1px rgba(60, 211, 255, 0.15), 0 22px 44px -22px rgba(60, 211, 255, 0.7); }
.rk-col.is-live::before { opacity: 1; }
.rk-col.is-live li.is-on { box-shadow: 0 0 16px -2px rgba(60, 211, 255, 0.75), inset 0 1px 0 rgba(255, 255, 255, 0.22); }
.rk-col > ul { display: grid; gap: 7px; }
.rk-col__box { padding: 10px; border-radius: 10px; border: 1px solid var(--line); background: rgba(4, 10, 28, 0.4); }
.rk-col__box small { display: block; margin-bottom: 8px; text-align: center; font-size: 12px; color: var(--mute); }
.rk-col__box ul { display: grid; gap: 6px; }
.rk-board ul.rk-g2 { grid-template-columns: 1fr 1fr; }
.rk-spread { flex: 1; align-content: space-around; padding: 10px 6px; }
.rk-col--mid { justify-content: center; }
.rk-de__cols { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.rk-band { display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 14px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--line); background: rgba(11, 24, 64, 0.4); }
.rk-band > b, .rk-fp__row > b { position: relative; padding-left: 12px; font-size: 13.5px; color: var(--ice); }
.rk-band > b::before, .rk-fp__row > b::before { content: ""; position: absolute; left: 0; top: 2px; bottom: 2px; width: 3px; border-radius: 2px; background: linear-gradient(180deg, var(--cyan), var(--blue)); }
.rk-band ul { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.rk-band--4 ul { grid-template-columns: repeat(4, 1fr); }
.rk-band--cluster > div { display: grid; gap: 8px; }
.rk-band--cluster ul:first-child { grid-template-columns: repeat(7, 1fr); }
.rk-band ul.rk-band__two { grid-template-columns: 1fr 1fr; gap: 40px; }

.rk-mp__cols { display: grid; grid-template-columns: 1fr 1.6fr 1fr 1fr 1fr; gap: 8px; }
.rk-col--val { gap: 10px; }
.rk-val { display: grid; grid-template-columns: 1fr 28px 1fr; align-items: center; gap: 6px; padding: 10px; border-radius: 10px; border: 1px solid var(--line-strong); }
.rk-val--open { border-color: transparent; padding-block: 2px; }
.rk-val ul { display: grid; gap: 6px; }
.rk-val > i { position: relative; height: 2px; background: var(--cyan); }
.rk-val > i::after { content: ""; position: absolute; right: -2px; top: -4px; border-block: 5px solid transparent; border-left: 7px solid var(--cyan); }

.rk-fp { gap: 10px; min-width: 880px; }
.rk-fp__row { display: grid; grid-template-columns: 110px 1fr; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--line-strong); background: rgba(11, 24, 64, 0.45); }
.rk-fp__core > b { font-size: 13.5px; color: var(--ice); }
.rk-fp__row > ul { display: flex; justify-content: space-around; gap: 14px; }
.rk-fp__row > ul li { min-width: 120px; }
.rk-fp__core { display: grid; gap: 10px; padding: 12px 16px 16px; border-radius: 12px; border: 1px solid var(--line-strong); background: rgba(11, 24, 64, 0.45); }
.rk-fp__core > b { text-align: center; }
.rk-fp__mods { display: grid; grid-template-columns: 1fr 1.6fr 1fr 1fr; gap: 10px; }
.rk-col--dash { border-style: dashed; border-color: rgba(60, 211, 255, 0.4); background: transparent; }
.rk-fp__types li { min-width: 170px !important; }
.rk-fp__up { display: flex; justify-content: space-around; padding-left: 124px; height: 18px; }
.rk-fp__up i { position: relative; width: 2px; background: var(--line-strong); }
.rk-fp__up i::before { content: ""; position: absolute; left: -5px; top: -4px; border-inline: 6px solid transparent; border-bottom: 7px solid var(--cyan); }
.rk-fp__srcs { display: grid; grid-template-columns: 1.1fr 34px 1fr 1fr 1.4fr; align-items: center; gap: 12px; }
.rk-fp__srcs ul { display: grid; gap: 6px; }
.rk-fp__to { position: relative; height: 2px; background: var(--cyan); }
.rk-fp__to::after { content: ""; position: absolute; right: -2px; top: -4px; border-block: 5px solid transparent; border-left: 7px solid var(--cyan); }
.rk-fp__api { grid-template-columns: 1fr 1fr; padding: 10px; border-radius: 10px; border: 1px dashed rgba(60, 211, 255, 0.45); }
.rk-board .rk-fp__api { grid-template-columns: 1fr 1fr; }

/* ---------- Compute engine (Fig 3) ---------- */
.rk-ce { display: grid; grid-template-columns: 1fr 1fr 1.15fr; gap: 16px; }
.rk-eng { padding: 30px 28px; border-radius: var(--r-lg); border: 1px solid var(--line-strong); background: linear-gradient(180deg, rgba(16, 32, 78, 0.6), rgba(4, 10, 28, 0.3)); }
.rk-eng h3 { padding-left: 16px; border-left: 4px solid var(--cyan); font-size: 32px; letter-spacing: .04em; color: var(--ice); }
.rk-eng > b { display: block; margin: 14px 0 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); text-align: center; font-size: 16px; color: var(--ice); }
.rk-eng li { padding: 6px 0; text-align: center; font-size: 14.5px; color: var(--text); }
.rk-sched { padding: 26px 26px 22px; border-radius: var(--r-lg); border: 1px solid rgba(60, 211, 255, 0.45); background: linear-gradient(160deg, rgba(47, 107, 255, 0.3), rgba(4, 10, 28, 0.35)); }
.rk-sched h3 { font-size: 19px; color: var(--ice); }
.rk-sched small { display: block; margin: 4px 0 16px; font-size: 10.5px; letter-spacing: .12em; color: var(--mute); }
.rk-sched ol { display: grid; gap: 8px; counter-reset: s; }
.rk-sched li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--text); counter-increment: s; }
.rk-sched li::before { content: counter(s); flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px rgba(47, 107, 255, 0.18); color: #fff; font: 600 12.5px/1 var(--f-mono); }

.rk-loop { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.rk-loop li { position: relative; display: grid; place-items: center; min-height: 72px; padding: 12px; border-radius: 14px; background: linear-gradient(120deg, var(--blue), #1f8bff); box-shadow: 0 18px 40px -18px rgba(47, 107, 255, 0.9); text-align: center; font-size: 16px; font-weight: 600; color: #fff; }
.rk-loop li + li::before { content: ""; position: absolute; left: -26px; top: 50%; width: 24px; height: 2px; background: repeating-linear-gradient(90deg, var(--cyan) 0 4px, transparent 4px 8px); background-size: 16px 2px; animation: flowRight .8s linear infinite; }

/* ---------- Breakthroughs (Fig 4) ---------- */
.rk-kb { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.rk-kb article { display: flex; flex-direction: column; border-radius: var(--r-lg); border: 1px solid var(--line); background: rgba(4, 10, 28, 0.55); overflow: hidden; transition: transform .3s var(--ease), border-color .3s; }
.rk-kb article:hover { transform: translateY(-4px); border-color: rgba(60, 211, 255, 0.45); }
.rk-kb__no { display: block; padding: 22px 0; text-align: center; font-size: 30px; font-weight: 600; color: #fff; background: linear-gradient(135deg, hsl(222 92% calc(56% - var(--i) * 3%) / calc(1 - var(--i) * 0.15)), hsl(214 90% calc(48% + var(--i) * 2%) / calc(0.85 - var(--i) * 0.12))); }
.rk-kb h3 { padding: 20px 20px 0; min-height: 4.2em; text-align: center; font-size: 16px; line-height: 1.4; }
.rk-kb p { position: relative; flex: 1; margin-top: 14px; padding: 22px 20px 26px; text-align: center; font-size: 14px; color: var(--mute); }
.rk-kb p::before { content: ""; position: absolute; left: 50%; top: 0; width: 36px; height: 2px; margin-left: -18px; background: var(--cyan); }

/* ---------- CTA ---------- */
.rk-cta__card { display: grid; gap: 14px; padding: 30px; border-radius: var(--r-lg); background: rgba(4, 10, 28, 0.88); border: 1px solid rgba(255, 255, 255, .14); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.6); }
.rk-cta__card h3 { font-size: 18px; }
.rk-cta__card ol { display: grid; gap: 10px; margin: 4px 0 10px; counter-reset: s; }
.rk-cta__card li { display: flex; align-items: center; gap: 12px; font-size: 14.5px; color: var(--text); counter-increment: s; }
.rk-cta__card li::before { content: counter(s); flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: rgba(47, 107, 255, 0.25); border: 1px solid var(--line-strong); color: var(--cyan); font: 500 12px/1 var(--f-mono); }

/* ---------- Responsive ---------- */
@media (max-width: 1180px) {
  .rk-scope__grid, .rk-kb { grid-template-columns: repeat(3, 1fr); }
  .rk-pa__groups { grid-template-columns: 1fr 1fr; }
  .rk-pa__flat--data { grid-template-columns: repeat(4, 1fr); }
  .rk-tl__end { font-size: 15px; left: calc(100% + 12px); }
}
@media (max-width: 1024px) {
  .rk-hero__inner { grid-template-columns: 1fr; min-height: 0; gap: 48px; }
  .rk-hero__visual { max-width: 640px; width: 100%; justify-self: center; }
  .rk-eco { grid-template-columns: 1fr; gap: 0; }
  .rk-eco__arrow { width: 2px; height: 40px; justify-self: center; margin: 4px 0; background: repeating-linear-gradient(180deg, var(--cyan) 0 4px, transparent 4px 8px); animation: none; }
  .rk-eco__arrow::after { right: -6px; top: auto; bottom: -4px; border-inline: 7px solid transparent; border-block: 0; border-top: 10px solid var(--cyan); }
  .rk-cap ul, .rk-traits { grid-template-columns: repeat(3, 1fr); }
  .rk-tl { grid-template-columns: 1fr; grid-template-rows: none; gap: 0; }
  .rk-tl__item, .rk-tl__item.is-up, .rk-tl__item.is-down { grid-column: 1; grid-row: auto; align-self: auto; padding: 0 0 28px 28px; border-left: 2px solid var(--line-strong); }
  .rk-tl__item::before, .rk-tl__item.is-up::before, .rk-tl__item.is-down::before { top: 2px; bottom: auto; left: -8px; }
  .rk-tl__axis { order: 99; grid-row: auto; grid-column: 1; height: auto; background: none; padding-left: 28px; }
  .rk-tl__axis::after { display: none; }
  .rk-tl__end { position: static; transform: none; white-space: normal; }
  .rk-phase, .rk-vs, .rk-ce { grid-template-columns: 1fr; }
  .rk-stack__row { grid-template-columns: 160px 1fr; }
  .rk-ring { grid-template-columns: 1fr; gap: 16px; }
  .rk-ring__core { display: none; }
  .rk-ring__q, .rk-ring__q.is-tr, .rk-ring__q.is-br, .rk-ring__q.is-tl, .rk-ring__q.is-bl { min-height: 0; padding: 24px 24px 24px 96px; }
  .rk-ring__ico, .is-tl .rk-ring__ico, .is-bl .rk-ring__ico, .is-tr .rk-ring__ico, .is-br .rk-ring__ico { left: 20px; right: auto; }
  .rk-pa__pair { grid-template-columns: 1fr; }
  .rk-sys { grid-template-columns: 1fr; gap: 32px; }
  .rk-graph { max-width: 600px; width: 100%; justify-self: center; }
  .rk-panel__intro { grid-template-columns: 1fr; gap: 14px; }
  .rk-points { grid-template-columns: repeat(2, 1fr); }
  .rk-points li:last-child { grid-column: 1 / -1; }
  .rk-loop { grid-template-columns: 1fr; gap: 20px; }
  .rk-loop li + li::before { left: 50%; top: -20px; width: 2px; height: 20px; background: repeating-linear-gradient(180deg, var(--cyan) 0 4px, transparent 4px 8px); animation: none; }
}
@media (max-width: 720px) {
  .rk-dec__steps { min-height: 0; }
  .rk-step { grid-template-columns: 14px 1fr auto; gap: 10px; }
  .rk-step time { display: none; }
  .rk-cap ul, .rk-scope__grid, .rk-kb, .rk-points { grid-template-columns: 1fr; }
  .rk-cap ul, .rk-traits { grid-template-columns: 1fr 1fr; }
  .rk-phase ul { grid-template-columns: 1fr; }
  .rk-stack__row { grid-template-columns: 1fr; gap: 8px; padding: 18px 20px; }
  .rk-stack__k b { font-size: 20px; }
  .rk-pa { padding: 14px; }
  .rk-pa__row { grid-template-columns: 1fr; gap: 10px; padding: 14px; }
  .rk-pa__k br { display: none; }
  .rk-pa__groups, .rk-pa__g--3 ul { grid-template-columns: 1fr 1fr; }
  .rk-pa__groups { grid-template-columns: 1fr; }
  .rk-pa__flat, .rk-pa__flat--wide, .rk-pa__flat--data { grid-template-columns: 1fr 1fr; gap: 8px; padding: 0; }
  .rk-node { font-size: 13px; border-radius: 9px; }
  .rk-node small { display: none; }
  .rk-role__list li { grid-template-columns: 1fr; gap: 2px; }
  .rk-kb h3 { min-height: 0; }
}
