#fern-sidebar a.fern-sidebar-link {
  position: relative;
}
a.fern-sidebar-link:not(.nested) {
  border-left: 1px solid var(--grayscale-a5);
}
a.fern-sidebar-link:not(.nested)[data-state="active"] {
  color: inherit !important;
  font-weight: 600;
}
#fern-sidebar a.fern-sidebar-link[data-state="active"]::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 0;
  bottom: 0;
  width: 2px;
  background-color: var(--accent-a11);
  pointer-events: none;
}
/* The preview banner offsets the header. Keep the native mobile drawer below
 * that header and its 1px bottom border, with room to scroll to the last item. */
@media (max-width: 1023px) {
  body.nvidia-preview-banner-enabled #fern-sidebar:not(.fern-sidebar-desktop) {
    top: calc(var(--header-height) + var(--nvidia-preview-banner-offset, 0px) + 1px) !important;
    height: calc(100dvh - var(--header-height) - var(--nvidia-preview-banner-offset, 0px) - 1px) !important;
  }
}
.fern-layout-guide article:has(.kumo-engine-animation) > header { margin-bottom:8px; }
/* Keep the thumbnail in Fern's ordinary article column and native TOC layout. */
.kumo-engine-animation { width:100%; margin:8px 0 28px; }
.kumo-engine-launch { position:relative; display:block; width:100%; overflow:hidden; border:1px solid #d9dfe7; border-radius:6px; background:#fff; text-decoration:none!important; }
.kumo-engine-launch img { display:block; width:100%; height:auto; margin:0!important; }
.kumo-engine-launch .kumo-engine-play-icon { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:76px; height:76px; border-radius:50%; background:#76b900; color:#182600; box-shadow:0 3px 18px #0003; }
.kumo-engine-launch:hover .kumo-engine-play-icon { background:#8aca22; }
.kumo-engine-launch:focus-visible { outline:3px solid #386000; outline-offset:4px; }
.kumo-engine-play-icon svg { width:30px; height:30px; margin-left:5px; }
.kumo-engine-player { box-sizing:border-box; max-width:none; max-height:none; padding:0; margin:auto; border:1px solid #d9dfe7; border-radius:8px; background:#fff; color:#202020; overflow:hidden; box-shadow:0 16px 70px #0005; font:14px/1.4 Arial,Helvetica,sans-serif; }
.kumo-engine-player::backdrop { background:rgb(0 0 0 / 55%); }
.kumo-engine-player * { box-sizing:border-box; }
.kumo-player-header { display:flex; justify-content:flex-end; height:44px; padding:2px 8px; background:white; }
.kumo-player-close { display:flex; align-items:center; gap:8px; min-width:76px; min-height:40px; padding:6px 10px; background:white; border:0; border-radius:4px; color:#334155; font:13px Arial,Helvetica,sans-serif; cursor:pointer; }
.kumo-player-close span { font-size:26px; line-height:1; }
.kumo-player-canvas { position:relative; overflow:hidden; width:100%; background:white; }
.kumo-player-canvas iframe { position:absolute; display:block; top:0; left:50%; max-width:none; border:0; transform-origin:top center; }
.kumo-player-controls { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:24px; padding:12px 20px; border-top:1px solid #e2e8f0; background:white; }
.kumo-player-buttons { display:flex; gap:12px; }
.kumo-player-controls button { min-height:40px; padding:8px 14px; border:1px solid #cbd5e1; border-radius:4px; background:white; color:#334155; font:13px Arial,Helvetica,sans-serif; white-space:nowrap; cursor:pointer; }
.kumo-player-controls .kumo-player-play { background:#76b900; border-color:#76b900; color:#182600; min-width:68px; }
.kumo-player-controls button:disabled { opacity:.5; cursor:wait; }
.kumo-player-timeline { display:flex; align-items:center; gap:14px; min-width:0; }
.kumo-player-timeline input { width:100%; min-width:0; accent-color:#386000; cursor:pointer; }
.kumo-player-timeline output { flex:none; font:12px Arial,Helvetica,sans-serif; color:#475569; font-variant-numeric:tabular-nums; white-space:nowrap; }
.kumo-player-rotation { padding:3px 10px 7px; margin:0; color:#606060; text-align:center; font-size:12px; }
.kumo-player-rotation[hidden] { display:none; }
.kumo-engine-player button:focus-visible,.kumo-engine-player input:focus-visible { outline:3px solid #386000; outline-offset:2px; }
@media(max-width:600px) and (orientation:portrait) { .kumo-player-controls { grid-template-columns:1fr; gap:10px; padding:10px 12px; } .kumo-player-buttons { justify-content:center; } }
@media(max-height:500px) and (orientation:landscape) { .kumo-player-header { height:36px; } .kumo-player-close { min-height:32px; } .kumo-player-controls { padding:6px 10px; gap:12px; } .kumo-player-controls button { min-height:36px; padding:6px 10px; } }
@keyframes kumo-player-enter { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } }
@keyframes kumo-backdrop-enter { from { background:rgb(0 0 0 / 0%); } to { background:rgb(0 0 0 / 55%); } }
@media(prefers-reduced-motion:no-preference) { .kumo-engine-player[open] { animation:kumo-player-enter 180ms ease-out; } .kumo-engine-player[open]::backdrop { animation:kumo-backdrop-enter 180ms ease-out; } }
astro-island,astro-slot,astro-static-slot{display:contents}