@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600;700&family=DM+Sans:wght@300;400;500;600&display=swap');

:root{
  --bg:#030d06;--bg2:#061408;--card:#08190a;--bord:#0f2e14;
  --green:#22c55e;--lime:#a3e635;--teal:#2dd4bf;--amber:#f59e0b;--red:#ef4444;--blue:#38bdf8;
  --text:#ecfff0;--muted:#3a6040;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}

.ry-header{position:relative;min-height:320px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(150deg,#030d06,#061408,#030d06);border-bottom:1px solid var(--bord)}
#ryCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ry-hinner{position:relative;z-index:2;max-width:980px;margin:0 auto;padding:56px 28px}
.ry-dept{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--lime);margin-bottom:12px;font-weight:600}
.ry-badge{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.15em;color:var(--green);border:1px solid var(--green);padding:5px 16px;border-radius:2px;margin-bottom:14px;background:rgba(34,197,94,.08)}
.ry-title{font-family:'IBM Plex Mono',monospace;font-size:clamp(3rem,10vw,6rem);font-weight:700;line-height:.88;color:var(--text)}
.ry-sub{margin-top:14px;color:var(--muted);font-size:.95rem}
.ry-kpis{display:flex;flex-wrap:wrap;gap:0;margin-top:28px;border:1px solid rgba(34,197,94,.2);border-radius:8px;overflow:hidden;width:fit-content;background:rgba(34,197,94,.04)}
.ry-kpi{padding:12px 22px;border-right:1px solid rgba(34,197,94,.15);display:flex;flex-direction:column;gap:4px}
.ry-kpi:last-child{border-right:none}
.ry-kpi b{font-family:'IBM Plex Mono',monospace;font-size:1.2rem;font-weight:700;color:var(--green);line-height:1}
.ry-kpi span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}

.ry-nav{position:sticky;top:0;z-index:100;background:rgba(3,13,6,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--bord);display:flex;flex-wrap:wrap;justify-content:center}
.ry-nav a{padding:12px 14px;font-size:.76rem;font-weight:600;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent;transition:.2s;white-space:nowrap}
.ry-nav a:hover,.ry-nav a.active{color:var(--green);border-color:var(--green)}

.ry-main{max-width:980px;margin:0 auto;padding:52px 24px 90px;display:flex;flex-direction:column;gap:54px}
.ry-sec{opacity:0;transform:translateY(24px);transition:opacity .55s,transform .55s}
.ry-sec.vis{opacity:1;transform:translateY(0)}
.ry-sec h2{font-family:'IBM Plex Mono',monospace;font-size:1.05rem;font-weight:700;color:var(--text);padding:12px 22px;background:rgba(34,197,94,.08);border-left:4px solid var(--green);border-radius:0 6px 6px 0;margin-bottom:0;letter-spacing:.02em}
.ry-body{background:var(--card);border:1px solid var(--bord);border-top:none;border-radius:0 0 8px 8px;padding:26px}
.ry-body>p{color:var(--muted);line-height:1.85;font-size:.93rem;margin-bottom:18px}
.ry-body strong{color:var(--text)}

.ry-hierarchy{display:flex;flex-direction:column;gap:0;margin:16px 0;border:1px solid var(--bord);border-radius:8px;overflow:hidden}
.ry-hr{display:flex;gap:16px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--bord);background:var(--bg2)}
.ry-hr:last-child{border-bottom:none}
.ry-hr.top{background:rgba(34,197,94,.1)}
.ry-hr.bot{background:rgba(239,68,68,.07)}
.ry-hr-n{font-family:'IBM Plex Mono',monospace;font-size:1.4rem;font-weight:700;color:var(--green);width:36px;flex-shrink:0;text-align:center}
.ry-hr.bot .ry-hr-n{color:var(--red)}
.ry-hr h4{font-size:.87rem;font-weight:600;color:var(--text);margin-bottom:3px;min-width:160px}
.ry-hr p{font-size:.8rem;color:var(--muted);margin:0;line-height:1.6}

.ry-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ry-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ry-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}
.ry-card{background:var(--bg2);border:1px solid var(--bord);border-radius:8px;padding:16px}
.ry-card h4{font-size:.87rem;font-weight:600;color:var(--teal);margin-bottom:8px}
.ry-card p{font-size:.8rem;color:var(--muted);line-height:1.75;margin:0}
.ry-stat{background:var(--bg2);border:1px solid var(--bord);border-radius:8px;padding:14px;text-align:center}
.ry-bad{border-color:rgba(239,68,68,.3)}
.ry-sn{font-family:'IBM Plex Mono',monospace;font-size:1.4rem;font-weight:700;color:var(--green);margin-bottom:5px}
.ry-bad .ry-sn{color:var(--amber)}
.ry-stat p{font-size:.76rem;color:var(--muted);margin:0;line-height:1.4}

.ry-perf-list{display:flex;flex-direction:column;gap:9px;margin-top:8px}
.ry-pl{display:flex;align-items:center;gap:12px;font-size:.83rem}
.ry-matiere{width:150px;flex-shrink:0;color:var(--muted)}
.ry-pbar{flex:1;background:rgba(255,255,255,.05);border-radius:4px;height:20px;overflow:hidden}
.ry-pfill{height:100%;background:var(--c,var(--green));border-radius:4px;width:0;transition:width 1.2s ease}
.ry-pct{width:240px;flex-shrink:0;color:var(--muted)}

.ry-footer{border-top:1px solid var(--bord);background:var(--bg2);padding:20px 32px;text-align:center;font-size:.78rem;color:var(--muted)}

@media(max-width:768px){
  .ry-grid2,.ry-grid3{grid-template-columns:1fr}
  .ry-grid4{grid-template-columns:1fr 1fr}
  .ry-hr{flex-wrap:wrap}
  .ry-matiere{width:110px}
  .ry-pct{width:auto}
  .ry-kpis{flex-direction:column}
  .ry-kpi{border-right:none;border-bottom:1px solid rgba(34,197,94,.15)}
}
