:root{--bg:#282828;--raised:#32302f;--line:#504945;--fg:#ebdbb2;--muted:#a89984;--green:#b8bb26;--blue:#83a598;--yellow:#fabd2f;--red:#fc6a59;--aqua:#8ec07c;--purple:#d3869b;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme]){--bg:#fbf1c7;--raised:#f2e5bc;--line:#d5c4a1;--fg:#3c3836;--muted:#70645a;--green:#6d680d;--blue:#076678;--yellow:#8d5c10;--red:#9d0006;--aqua:#3d7151;--purple:#8f3f71;color-scheme:light}}:root[data-theme=gruvbox-dark]{--bg:#282828;--raised:#32302f;--line:#504945;--fg:#ebdbb2;--muted:#a89984;--green:#b8bb26;--blue:#83a598;--yellow:#fabd2f;--red:#fc6a59;--aqua:#8ec07c;--purple:#d3869b;color-scheme:dark}:root[data-theme=gruvbox-light]{--bg:#fbf1c7;--raised:#f2e5bc;--line:#d5c4a1;--fg:#3c3836;--muted:#70645a;--green:#6d680d;--blue:#076678;--yellow:#8d5c10;--red:#9d0006;--aqua:#3d7151;--purple:#8f3f71;color-scheme:light}:root[data-theme=catppuccin-mocha]{--bg:#1e1e2e;--raised:#313244;--line:#45475a;--fg:#cdd6f4;--muted:#a6adc8;--green:#a6e3a1;--blue:#89b4fa;--yellow:#f9e2af;--red:#f38ba8;--aqua:#94e2d5;--purple:#cba6f7;color-scheme:dark}:root[data-theme=catppuccin-latte]{--bg:#eff1f5;--raised:#e6e9ef;--line:#ccd0da;--fg:#4c4f69;--muted:#63667a;--green:#2f7620;--blue:#1c5ee1;--yellow:#8f5b13;--red:#ce0f38;--aqua:#127277;--purple:#8538ea;color-scheme:light}:root[data-theme=rose-pine]{--bg:#191724;--raised:#1f1d2e;--line:#403d52;--fg:#e0def4;--muted:#908caa;--green:#9ccfd8;--blue:#c4a7e7;--yellow:#f6c177;--red:#eb6f92;--aqua:#ebbcba;--purple:#ebbcba;color-scheme:dark}:root[data-theme=rose-pine-dawn]{--bg:#faf4ed;--raised:#fffaf3;--line:#dfdad9;--fg:#575279;--muted:#6f6c87;--green:#286983;--blue:#79668e;--yellow:#966421;--red:#9e576b;--aqua:#45767f;--purple:#9b5e5b;color-scheme:light}:root[data-theme=tokyo-night]{--bg:#1a1b26;--raised:#24283b;--line:#3b4261;--fg:#c0caf5;--muted:#8a93bd;--green:#9ece6a;--blue:#7aa2f7;--yellow:#e0af68;--red:#f7768e;--aqua:#7dcfff;--purple:#bb9af7;color-scheme:dark}:root[data-theme=kanagawa]{--bg:#1f1f28;--raised:#2a2a37;--line:#363646;--fg:#dcd7ba;--muted:#a6a69c;--green:#98bb6c;--blue:#7e9cd8;--yellow:#e6c384;--red:#ff5d62;--aqua:#7aa89f;--purple:#9d89be;color-scheme:dark}:root[data-theme=everforest-dark]{--bg:#2d353b;--raised:#343f44;--line:#475258;--fg:#d3c6aa;--muted:#9faba2;--green:#a7c080;--blue:#7fbbb3;--yellow:#dbbc7f;--red:#ea9092;--aqua:#83c092;--purple:#d699b6;color-scheme:dark}:root[data-theme=everforest-light]{--bg:#fdf6e3;--raised:#f4f0d9;--line:#e0dcc7;--fg:#5c6a72;--muted:#636e62;--green:#667401;--blue:#2d739a;--yellow:#8f6600;--red:#bc413e;--aqua:#267859;--purple:#a54e8a;color-scheme:light}:root[data-theme=nord]{--bg:#2e3440;--raised:#3b4252;--line:#4c566a;--fg:#e5e9f0;--muted:#a5afc0;--green:#a3be8c;--blue:#98b2cc;--yellow:#ebcb8b;--red:#d9a0a6;--aqua:#88c0d0;--purple:#c3a5bd;color-scheme:dark}:root[data-theme=dracula]{--bg:#282a36;--raised:#343746;--line:#44475a;--fg:#f8f8f2;--muted:#9aa3cf;--green:#50fa7b;--blue:#bd93f9;--yellow:#f1fa8c;--red:#ff7777;--aqua:#8be9fd;--purple:#ff79c6;color-scheme:dark}:root[data-theme=one-dark]{--bg:#282c34;--raised:#2c313a;--line:#3e4451;--fg:#abb2bf;--muted:#9299a6;--green:#98c379;--blue:#61afef;--yellow:#e5c07b;--red:#e37b83;--aqua:#56b6c2;--purple:#c77bde;color-scheme:dark}:root[data-theme=ayu-mirage]{--bg:#1f2430;--raised:#242936;--line:#33415e;--fg:#cccac2;--muted:#8a9199;--green:#d5ff80;--blue:#73d0ff;--yellow:#ffcc66;--red:#f28779;--aqua:#95e6cb;--purple:#dfbfff;color-scheme:dark}:root[data-theme=monokai]{--bg:#272822;--raised:#3e3d32;--line:#49483e;--fg:#f8f8f2;--muted:#aca78f;--green:#a6e22e;--blue:#66d9ef;--yellow:#e6db74;--red:#fc81ad;--aqua:#a1efe4;--purple:#b993ff;color-scheme:dark}:root[data-theme=solarized-dark]{--bg:#002b36;--raised:#073642;--line:#2c4f57;--fg:#93a1a1;--muted:#8d9d9e;--green:#8fa114;--blue:#4da0da;--yellow:#bc951a;--red:#e87876;--aqua:#3ba9a0;--purple:#e176aa;color-scheme:dark}:root[data-theme=solarized-light]{--bg:#fdf6e3;--raised:#eee8d5;--line:#d6cfb8;--fg:#073642;--muted:#566c73;--green:#606e00;--blue:#1e6ca4;--yellow:#826300;--red:#c22c29;--aqua:#1e746d;--purple:#ba3072;color-scheme:light}:root{--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--serif:"Source Serif 4", Georgia, serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.6 var(--mono)}@media(min-width:900px){body{height:100vh;height:100dvh;display:grid;grid-template-columns:minmax(15rem,19rem)minmax(0,1fr);grid-template-rows:minmax(0,1fr)auto;gap:6px;padding:6px 6px 0}.pane{overflow:auto;border:1px solid var(--line);padding:16px 24px 32px}.pane.main{border-color:var(--green);padding:16px 32px 48px}:root:not([data-tree=hidden]) .ls{display:none}:root[data-tree=hidden] body{grid-template-columns:minmax(0,1fr)}:root[data-tree=hidden] .tree{display:none}}@media(min-width:1600px){body{font-size:16px}}.tree{font-size:.9em}.tree .pane-title{margin:0 0 4px;color:var(--blue);font-weight:700}.tree ul{list-style:none;margin:0;padding:0}.tree li{white-space:nowrap}.tree a{display:block;color:var(--fg);padding:0 4px;overflow:hidden;text-overflow:ellipsis}.tree a.dir{color:var(--blue);font-weight:700}.tree a:hover{background:var(--raised);text-decoration:none}.tree a[aria-current]{background:var(--yellow);color:var(--bg)}.tree .branch{color:var(--muted);font-weight:400;white-space:pre}.tree a[aria-current] .branch{color:inherit}.status{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:0 2ch;align-items:center;margin:0 -6px;padding:2px 1ch;background:var(--raised);color:var(--muted);font-size:.85em}.status .session{background:var(--green);color:var(--bg);font-weight:700;padding:0 1ch;margin-left:-1ch}.status .window{color:var(--yellow)}.status .spacer{flex:1}.status button{font:inherit;color:var(--muted);background:0 0;border:1px solid var(--line);padding:0 1ch;cursor:pointer}.status button[aria-pressed=true]{color:var(--fg);border-color:var(--muted)}@media(max-width:899px){#tree-toggle{display:none}}.status a{color:var(--muted)}.theme-pick{display:inline-flex;gap:1ch;align-items:center}.theme-pick select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:0 2px}a{color:var(--yellow);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.user{color:var(--green);font-weight:700}.path{color:var(--blue);font-weight:700}.muted,.date{color:var(--muted)}.err{color:var(--red)}h1,h2,h3{font-size:1rem;line-height:1.4;margin:1.6em 0 .5em}h1{color:var(--yellow)}h2{color:var(--aqua)}h2::before{content:"## ";color:var(--muted)}h3::before{content:"### ";color:var(--muted)}.term-header{border-bottom:1px dashed var(--line);padding-bottom:12px;margin-bottom:8px}.prompt{display:flex;gap:1ch;align-items:baseline}.prompt label{white-space:nowrap}.prompt input{flex:1;min-width:0;border:0;padding:0;background:0 0;color:var(--fg);font:inherit;caret-color:var(--fg);outline:none}.prompt input::placeholder{color:var(--muted);opacity:.6}.prompt:focus-within{outline:1px dashed var(--line);outline-offset:4px}.shell-out{margin:4px 0 8px;font:inherit;white-space:pre-wrap;color:var(--fg)}.ls{display:flex;flex-wrap:wrap;gap:0 2ch;margin-top:4px}.ls .dir{color:var(--blue);font-weight:700}.ls .file{color:var(--fg)}.ls [aria-current]{background:var(--blue);color:var(--bg)}.cmd{margin:1.8em 0 .6em;overflow-wrap:anywhere}main>.cmd:first-child,article>.cmd:first-child{margin-top:1em}.cmd+h1{margin-top:0}.neofetch{display:flex;flex-wrap:wrap;gap:16px 3ch;align-items:flex-start}.neofetch img{flex:none;width:220px;height:auto;border:1px solid var(--line);filter:saturate(.85)}.neofetch dl{flex:1 1 40ch;min-width:0;margin:0;display:grid;grid-template-columns:max-content 1fr;gap:0 1.5ch}.neofetch dt{color:var(--yellow);font-weight:700}.neofetch dd{margin:0}.neofetch .title,.neofetch .rule,.neofetch .swatches{grid-column:1/-1}.neofetch .title{color:var(--fg)}.neofetch .rule{color:var(--muted)}.neofetch h1{all:unset}.neofetch .links a{margin-right:1ch}.neofetch dd.swatches{display:flex;margin-top:12px}.swatches i{width:3ch;height:1.2em}.swatches i:nth-child(1){background:var(--raised)}.swatches i:nth-child(2){background:var(--red)}.swatches i:nth-child(3){background:var(--green)}.swatches i:nth-child(4){background:var(--yellow)}.swatches i:nth-child(5){background:var(--blue)}.swatches i:nth-child(6){background:var(--purple)}.swatches i:nth-child(7){background:var(--aqua)}.swatches i:nth-child(8){background:var(--fg)}.listing{list-style:none;padding:0;margin:0}.listing li{margin-bottom:6px}.listing li p{margin:0 0 0 11ch}.prose-mono ul{padding-left:2ch;list-style:"- "}.prose-mono li{margin-bottom:6px}.prose-mono table{border-collapse:collapse}.prose-mono th{text-align:left;color:var(--muted);font-weight:400;border-bottom:1px dashed var(--line)}.prose-mono td,.prose-mono th{padding:2px 2ch 2px 0;vertical-align:top}.courses{list-style:none;padding:0;margin:0}.courses li{margin-bottom:12px}.courses .code{color:var(--blue);font-weight:700}.ratings{display:flex;flex-wrap:wrap;gap:0 2ch}.dots{color:var(--muted)}.dots b{color:var(--yellow);font-weight:400}.review p{margin:2px 0 0}.wip{color:var(--green)}.course-codes{display:flex;flex-wrap:wrap;gap:0 2ch}.post-meta{color:var(--muted);margin:0 0 1.5em}.post-meta .tag{margin-left:1ch}.post-body{font:18px/1.7 var(--serif)}.post h1{font:600 2.1rem/1.2 var(--serif);color:var(--fg);margin:.4em 0 .3em}.post-body h2,.post-body h3{font-family:var(--serif);color:var(--fg);line-height:1.3}.post-body h2::before,.post-body h3::before{content:none}.post-body h2{font-size:1.45em;font-weight:600;margin:1.8em 0 .5em;padding-bottom:.2em;border-bottom:1px solid var(--line)}.post-body h3{font-size:1.2em;font-weight:600;margin:1.5em 0 .4em}.post-body p,.post-body ul,.post-body ol{margin:0 0 1em}.post-body li{margin-bottom:.3em}.post-body a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.post-body a:hover{text-decoration-color:initial}.post-body blockquote{margin:1em 0;padding-left:1em;border-left:3px solid var(--line);color:var(--muted)}.view-toggle{display:inline-flex;margin:0 0 8px;border:1px solid var(--line)}.view-toggle button{font:inherit;font-size:.85em;color:var(--muted);background:0 0;border:0;padding:1px 1.5ch;cursor:pointer}.view-toggle button[aria-pressed=true]{background:var(--blue);color:var(--bg)}.raw-md{font:14px/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0;padding:16px;background:var(--raised);border:1px solid var(--line)}.post-body img{display:block;max-width:min(100%,640px);height:auto;margin:16px auto;background:#fff}.post-body code,.post-body pre{font:.85em var(--mono)}.post-body pre{background:var(--raised);padding:12px;overflow-x:auto}.post-body table{border-collapse:collapse;margin:16px 0;font-size:.95em;display:block;overflow-x:auto}.post-body th{text-align:left;font-family:var(--mono);font-size:.85em;color:var(--muted);font-weight:400}.post-body th,.post-body td{padding:4px 2ch 4px 0;border-bottom:1px dashed var(--line);vertical-align:top}.math-block{overflow-x:auto;overflow-y:hidden;margin:12px 0;text-align:center}.grep{display:flex;gap:1ch;align-items:baseline;flex-wrap:wrap}#search{flex:1;min-width:12ch;border:0;border-bottom:1px dashed var(--line);background:0 0;color:var(--fg);font:inherit;padding:0}#tags{margin:8px 0 16px}.tag{background:0 0;border:0;padding:0 .5ch;margin-right:1ch;font:inherit;color:var(--purple);cursor:pointer}.tag.active{background:var(--purple);color:var(--bg)}.home-top{display:flex;flex-wrap:wrap;gap:0 4ch;align-items:flex-start}.home-top>:first-child{flex:initial;min-width:0}.home-top>:last-child{flex:1 1 50ch;min-width:0}.project-grid{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}.project-card{display:flex;flex-direction:column;gap:4px;height:100%;padding-bottom:12px;border:1px solid var(--line);background:var(--raised);color:var(--fg)}.project-card:hover{border-color:var(--yellow);text-decoration:none}.project-card:hover .name{text-decoration:underline}.project-card .cover{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-bottom:1px solid var(--line);margin-bottom:8px;background:#fff}.project-card .placeholder{display:grid;place-items:center;background:repeating-linear-gradient(0,var(--bg),var(--bg) 2px,var(--raised) 2px,var(--raised) 4px);color:var(--blue);font-weight:700;font-size:1.1em}.project-card>span{padding:0 12px}.project-card .name{color:var(--blue);font-weight:700}.project-card .summary{color:var(--muted);flex:1}.tags{color:var(--purple);font-size:.9em}.tags span{margin-right:1.5ch;display:inline-block}.project .lede{color:var(--muted);margin-top:0}.meta{display:grid;grid-template-columns:max-content 1fr;gap:0 2ch;margin:0 0 16px}.meta dt{color:var(--yellow);font-weight:700}.meta dd{margin:0;overflow-wrap:anywhere}.project-body{display:grid;gap:0 4ch;align-items:start}@media(min-width:1300px){.project-body{grid-template-columns:minmax(0,1fr)minmax(0,1fr)}.hero{position:sticky;top:0}}.hero{margin:0 0 16px}.hero img{display:block;max-width:100%;width:auto;height:auto;max-height:70vh;border:1px solid var(--line);background:#fff}.prev-next{display:flex;flex-wrap:wrap;gap:0 3ch;margin-top:32px;padding-top:12px;border-top:1px dashed var(--line)}@media(max-width:899px){body{padding:16px}.tree{display:none}.status{margin:32px -16px -16px}}@media(max-width:640px){body{font-size:14px}.neofetch{flex-direction:column}.neofetch img{width:160px}.listing li p{margin-left:0}.post-body{font-size:17px}}