/* NKN Tutorial Sidebar — same look as the old #pysb2 sidebar */
.nknts{--panel:#F1F1F1;--line:#DDDDDD;--ink:#1A1A1A;--title:#04AA6D;--active-bg:#DDDDDD;--active-border:#04AA6D;
  font-family:'Reem Kufi',sans-serif;color:var(--ink);box-sizing:border-box}
.nknts *,.nknts *::before,.nknts *::after{box-sizing:border-box}
.nknts a{text-decoration:none;color:inherit}
.nknts .nknts-title{margin:0;font-family:'Reem Kufi',sans-serif;color:var(--title) !important;font-size:19px;font-weight:800;line-height:1.3}
.nknts .nknts-box{position:sticky;top:20px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;background:var(--panel);overflow:hidden}
.nknts .nknts-head{padding:14px 16px 10px}
.nknts a.nknts-back{display:inline-flex;gap:6px;color:#5A6268 !important;font-size:12.5px;margin-bottom:8px}
.nknts a.nknts-back:hover{color:var(--title) !important}
.nknts .nknts-close{display:none}
.nknts .nknts-list{overflow-y:auto;padding-bottom:8px}
.nknts details.nknts-group{border-bottom:1px solid var(--line)}
.nknts details.nknts-group summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 16px;font-size:17px;font-weight:700;color:#000 !important}
.nknts details.nknts-group summary::-webkit-details-marker{display:none}
.nknts details.nknts-group summary:hover{background:#DDDDDD}
.nknts .nknts-car{width:10px;height:10px;border:solid #555;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .15s;flex:none}
.nknts details.nknts-group[open] .nknts-car{transform:rotate(-135deg)}
.nknts .nknts-subs a{display:block;padding:9px 16px 9px 28px;font-size:16px;color:#1A1A1A !important;border-left:3px solid transparent;line-height:1.4}
.nknts .nknts-subs a:hover{background:#DDDDDD;color:#000 !important}
.nknts .nknts-subs a.is-current{background:var(--active-bg);color:#000 !important;font-weight:700;border-left-color:var(--active-border)}
.nknts .nknts-toggle,.nknts .nknts-overlay{display:none}

@media (max-width:900px){
  .nknts{display:block;width:100%}
  .nknts .nknts-toggle{display:flex;align-items:center;gap:10px;width:100%;margin:0;padding:14px 16px;background:#04AA6D;color:#fff !important;border:0;
    font-family:'Reem Kufi',sans-serif;font-size:15px;font-weight:700;border-radius:0;cursor:pointer;text-align:left}
  .nknts .nknts-bars{width:18px;height:14px;position:relative;flex:none}
  .nknts .nknts-bars span{position:absolute;left:0;right:0;height:2px;background:#fff}
  .nknts .nknts-bars span:nth-child(1){top:0}.nknts .nknts-bars span:nth-child(2){top:6px}.nknts .nknts-bars span:nth-child(3){top:12px}
  .nknts .nknts-box{position:fixed;top:0;left:0;bottom:0;width:85%;max-width:320px;max-height:none;border-radius:0;transform:translateX(-100%);
    transition:transform .25s;z-index:2147483000;box-shadow:4px 0 24px rgba(0,0,0,.3)}
  .nknts.is-open .nknts-box{transform:translateX(0)}
  .nknts .nknts-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .25s,visibility .25s;z-index:2147482999}
  .nknts.is-open .nknts-overlay{opacity:1;visibility:visible;pointer-events:auto}
  .nknts .nknts-head{display:flex;align-items:center;justify-content:space-between}
  .nknts .nknts-close{flex:none;width:30px;height:30px;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#555 !important;
    font-size:22px;line-height:1;background:none;border:0;cursor:pointer}
}

/* ---------- Prev / Next ---------- */
.nknts-pn{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:36px 0 10px;font-family:'Reem Kufi',sans-serif}
.nknts-pn-item{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid #E3E6EA;border-radius:10px;text-decoration:none !important;
  background:#fff;transition:border-color .15s,transform .15s,box-shadow .15s}
a.nknts-pn-item:hover{border-color:#04AA6D;transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(4,170,109,.6)}
.nknts-pn-item.is-next{justify-content:flex-end;text-align:right}
.nknts-pn-item.is-empty{border:0;background:none}
.nknts-pn-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.nknts-pn-txt small{font-size:12px;font-weight:700;letter-spacing:.08em;color:#1A1A1A}
.nknts-pn-txt b{font-size:16px;font-weight:700;color:#04AA6D;line-height:1.35}
.nknts-pn-ar{flex:none;width:34px;height:34px;border-radius:50%;background:#04AA6D;color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;padding-bottom:3px}
@media (max-width:640px){.nknts-pn{grid-template-columns:1fr}.nknts-pn-item.is-empty{display:none}}
