.jwsun-root{--paper:#f6f5f2;--ink:#2a2824;--dim:#6f6a61;--sage:#5a6e50;--sage-soft:#6e836280;--star:#9c7a14;--line:#2a28241a;--toggle:#c9c5bd;--dock-bg:#ffffff73;--dock-line:#2a28241f;--nn-pos:#5b7fa6;--nn-neg:#b0645a;--font-sans-face:var(--font-karla), "Karla", system-ui, sans-serif;--font-mono-face:var(--font-spline-mono), "Spline Sans Mono", monospace;font-family:var(--font-sans-face);color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh;font-size:17px;line-height:1.65;transition:background-color .3s,color .3s;position:relative}.jwsun-root[data-theme=dark],:root[data-theme=dark] .jwsun-root{--paper:#1b1a18;--ink:#e6e3dc;--dim:#9a948a;--sage:#a3b894;--sage-soft:#a3b89473;--star:#e8c25e;--line:#e6e3dc1f;--toggle:#47443f;--dock-bg:#2d2d2d8c;--dock-line:#ffffff24;--nn-pos:#82a8cc;--nn-neg:#c9857a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.jwsun-root ::selection{background:var(--sage-soft)}.jwsun-root :focus-visible{outline:2px solid var(--sage);outline-offset:3px;border-radius:2px}.jwsun-root .theme-toggle{z-index:10;position:absolute;top:48vh;right:calc(60% + 20rem)}.jwsun-root #theme-check{opacity:0;width:0;height:0;position:absolute}.jwsun-root .switch{--a:.5s ease-out;cursor:pointer;height:1em;box-shadow:0 0 0 .33em var(--toggle);aspect-ratio:212.499/84.4688;background-color:var(--toggle);border-radius:2em;transition:background-color .3s,box-shadow .3s;display:inline-flex;position:relative}.jwsun-root .switch svg{height:100%}.jwsun-root .switch svg path{color:var(--paper);stroke-width:16px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:136 224;transition:all var(--a), 0s transform;transform-origin:50%}.jwsun-root #theme-check:checked~.switch svg path{stroke-dashoffset:180px;transform:scaleY(-1)}.jwsun-root #theme-check:focus-visible~.switch{outline:2px solid var(--sage);outline-offset:.55em}.jwsun-root .portrait{-webkit-user-select:none;user-select:none;pointer-events:none;font-family:var(--font-mono-face);color:var(--dim);white-space:pre;margin:0;font-size:4px;line-height:1.05;position:absolute;top:1.5rem;left:calc(50% + 18.5rem)}.jwsun-root .portrait-fx{pointer-events:none;z-index:5;position:absolute;top:0;left:0}.jwsun-root[data-theme=dark] .portrait-light,:root[data-theme=dark] .jwsun-root .portrait-light,.jwsun-root:not([data-theme=dark]) .portrait-dark,:root:not([data-theme=dark]) .jwsun-root .portrait-dark{display:none}.jwsun-root .dock{z-index:20;background:var(--dock-bg);border:1px solid var(--dock-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;padding:8px;position:absolute;top:40rem;left:calc(55% + 19.5rem);box-shadow:0 8px 28px #0000002e,inset 0 1px #ffffff2e}.jwsun-root .dock-rail{width:44px;position:relative}.jwsun-root .dock-app{cursor:pointer;background:0 0;border:0;padding:0;transition:opacity .26s;position:absolute;right:0}.jwsun-root .dock:not(.expanded) .dock-app:not(:first-child){opacity:0;pointer-events:none}.jwsun-root .dock-app img{filter:drop-shadow(0 2px 3px #00000040);width:100%;height:100%;display:block}.jwsun-root .dock-app img.rounded{border-radius:22%}.jwsun-root .dock-app:after{content:"";background:var(--dim);opacity:0;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:-6px;transform:translateY(-50%)}.jwsun-root .dock-app.running:after{opacity:.9}@media (max-width:1100px){.jwsun-root .dock{display:none}}.jwsun-root .nn{z-index:10;position:absolute;top:54rem;right:calc(55% + 20.5rem)}.jwsun-root .nn circle{fill:var(--ink);stroke:var(--dim);stroke-width:1px;transition:fill-opacity .34s}.jwsun-root .nn .pos{stroke:var(--nn-pos)}.jwsun-root .nn .neg{stroke:var(--nn-neg)}@media (max-width:1100px){.jwsun-root .nn{display:none}.jwsun-root .portrait{font-size:2px;top:2.6rem;left:auto;right:1.25rem}.jwsun-root .portrait-fx{display:none}.jwsun-root main{padding-top:3rem}.jwsun-root .theme-toggle{margin-top:1.6rem;display:inline-block;position:static}}@media (max-width:640px){.jwsun-root{font-size:15px}.jwsun-root main{padding-left:1.25rem;padding-right:1.25rem}.jwsun-root .byline{font-size:.95rem}.jwsun-root .now{font-size:.7rem}}.jwsun-root main{max-width:36rem;margin:0 auto;padding:clamp(4rem,14vh,8rem) 1.5rem 3rem}.jwsun-root section{margin-top:3.75rem}.jwsun-root h1{letter-spacing:-.01em;margin:0;font-size:1.9rem;font-weight:700}.jwsun-root .byline{color:var(--dim);max-width:32rem;margin-top:1rem}.jwsun-root .cs,.jwsun-root .math{color:var(--sage);cursor:default;font-weight:500}.jwsun-root .now{font-family:var(--font-mono-face);color:var(--dim);margin-top:1.5rem;font-size:.82rem}.jwsun-root .now-label{color:var(--sage);font-weight:500}.jwsun-root .label{font-family:var(--font-mono-face);letter-spacing:.08em;color:var(--dim);margin:0 0 1rem;font-size:.78rem;font-weight:500}.jwsun-root .stuff{margin:0;padding:0;list-style:none}.jwsun-root .stuff li+li{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.4rem}.jwsun-root .stuff a{color:var(--ink);font-size:1.05rem;font-weight:700;text-decoration:none}.jwsun-root .stuff a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--sage);text-decoration-color:var(--sage);text-underline-offset:4px;text-decoration-thickness:2px}.jwsun-root .stuff p{color:var(--dim);margin-top:.2rem;font-size:.95rem}.jwsun-root .stuff p a{font-weight:400;font-size:inherit;color:inherit;text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--sage-soft);text-decoration-color:var(--sage-soft);text-underline-offset:4px}.jwsun-root .stuff p a:hover{text-decoration-thickness:1px;-webkit-text-decoration-color:var(--sage);text-decoration-color:var(--sage)}.jwsun-root .oss{font-family:var(--font-mono-face);color:var(--sage);font-size:.78rem;font-style:normal}.jwsun-root .stars{color:var(--star)}.jwsun-root .links{flex-wrap:wrap;gap:1.3rem;margin:0;padding:0;list-style:none;display:flex}.jwsun-root .links a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;-webkit-text-decoration-color:var(--sage-soft);text-decoration-color:var(--sage-soft);text-underline-offset:4px;transition:text-decoration-color .14s}.jwsun-root .links a:hover{-webkit-text-decoration-color:var(--sage);text-decoration-color:var(--sage)}.jwsun-root footer{border-top:1px solid var(--line);color:var(--dim);margin-top:4.5rem;padding-top:1.2rem;font-size:.82rem}.jwsun-root footer p{margin:0}
