/* Font-independent, theme-aware UI symbols. Paths are local SVG masks; no icon font or network dependency. */
:root {
  --site-icon-right:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2012h16m-6-6%206%206-6%206%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-left:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2012H4m6-6-6%206%206%206%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-up:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2020V4m-6%206%206-6%206%206%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-down:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%204v16m-6-6%206%206%206-6%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-ne:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2019%2019%205M5%205h14v14%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-se:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m5%205%2014%2014M5%2019h14V5%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-sw:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19%205%205%2019M5%205v14h14%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-restart:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2010a8%208%200%201%201%201%208M4%204v6h6%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-report:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%223%22%20width%3D%2216%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M8%208h8M8%2012h8M8%2016h5%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-app:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%223%22%20width%3D%2218%22%20height%3D%2218%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22M3%209h18M9%209v12M15%209v12M3%2015h18%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-target:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-sun:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M12%202v2m0%2016v2M2%2012h2m16%200h2M5%205l1.5%201.5m11%2011L19%2019M5%2019l1.5-1.5m11-11L19%205%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-moon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.5%2014a8.7%208.7%200%200%201-10.5-10.5A9%209%200%201%200%2020.5%2014Z%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-asterisk:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%202v20M2%2012h20M5%205l14%2014M5%2019%2019%205%22%20stroke-width%3D%222.8%22%2F%3E%3C%2Fsvg%3E");
  --site-icon-close:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M6%2018%2018%206%22%2F%3E%3C%2Fsvg%3E");
}
.notebook-site .site-icon,.site-icon{display:inline-block!important;width:1em!important;height:1em!important;min-width:1em;flex:none;vertical-align:-.12em;background-color:currentColor;mask:var(--site-icon-shape) center/contain no-repeat;-webkit-mask:var(--site-icon-shape) center/contain no-repeat;line-height:1;pointer-events:none;}
.site-icon-right{--site-icon-shape:var(--site-icon-right);}
.site-icon-left{--site-icon-shape:var(--site-icon-left);}
.site-icon-up{--site-icon-shape:var(--site-icon-up);}
.site-icon-down{--site-icon-shape:var(--site-icon-down);}
.site-icon-ne{--site-icon-shape:var(--site-icon-ne);}
.site-icon-se{--site-icon-shape:var(--site-icon-se);}
.site-icon-sw{--site-icon-shape:var(--site-icon-sw);}
.site-icon-restart{--site-icon-shape:var(--site-icon-restart);}
.site-icon-report{--site-icon-shape:var(--site-icon-report);}
.site-icon-app{--site-icon-shape:var(--site-icon-app);}
.site-icon-target{--site-icon-shape:var(--site-icon-target);}
.site-icon-sun{--site-icon-shape:var(--site-icon-sun);}
.site-icon-moon{--site-icon-shape:var(--site-icon-moon);}
.site-icon-asterisk{--site-icon-shape:var(--site-icon-asterisk);}
.site-icon-close{--site-icon-shape:var(--site-icon-close);}
@media(forced-colors:active){.site-icon{forced-color-adjust:none;background-color:CanvasText;}button .site-icon,a .site-icon{background-color:LinkText;}}
.site-external-link::after{content:"";display:inline-block;width:1em;height:1em;margin-left:.3em;vertical-align:-.12em;background:currentColor;mask:var(--site-icon-ne) center/contain no-repeat;-webkit-mask:var(--site-icon-ne) center/contain no-repeat;}
/* Apply before JavaScript too, including images created by local interactions. */
img{-webkit-user-drag:none;}

.site-back-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:40;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid #25372c;border-radius:50%;background:#fff8e8;color:#25372c;box-shadow:2px 3px 0 #25372c25;cursor:pointer}
.site-back-to-top[hidden],.is-demo-expanded .site-back-to-top,.demo-notebook-focus .site-back-to-top{display:none}
.site-back-to-top svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.site-back-to-top:hover{background:#b9bffa}.site-back-to-top:focus-visible{outline:2px solid #3449ba;outline-offset:4px}
/* Keep every navigation link reachable on short landscape screens. */
.site-nav nav.open{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}
