@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff) format("woff")}:root,[data-theme=dark]{color-scheme:dark;--desk: #000;--bg: #0a0a0a;--bg-2: #121212;--bg-3: #1a1a1a;--fg: #dcdcdc;--dim: #8a8a8a;--faint: #3d3d3d;--border: #262626;--accent: #6bf178;--accent-2: #3fb950;--green: #6bf178;--cyan: #5ad4e6;--yellow: #f2cc60;--red: #ff6b6b;--magenta: #d68cf5;--blue: #7aa7ff;--sel-bg: #6bf178;--sel-fg: #000;--glow: 0 0 8px rgb(107 241 120 / .35);--shadow: 0 30px 80px rgb(0 0 0 / .65), 0 0 0 1px rgb(107 241 120 / .06);--dot: rgb(255 255 255 / .06);--sb-bg: #000;--sb-fg: #6bf178}[data-theme=light]{color-scheme:light;--desk: #d8d4c7;--bg: #f6f4ec;--bg-2: #ebe7da;--bg-3: #e2ddcd;--fg: #1f2622;--dim: #5e6a64;--faint: #b8bcb0;--border: #d3cebf;--accent: #1a7f37;--accent-2: #2da44e;--green: #1a7f37;--cyan: #0b7285;--yellow: #9a6700;--red: #cf222e;--magenta: #8250df;--blue: #0969da;--sel-bg: #1a7f37;--sel-fg: #f6f4ec;--glow: none;--shadow: 0 30px 70px rgb(60 50 20 / .28), 0 0 0 1px rgb(0 0 0 / .04);--dot: rgb(40 40 20 / .12);--sb-bg: #0d0d0d;--sb-fg: #5ee27a}:root{--font: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;--font-box: ui-monospace, "Cascadia Mono", "Cascadia Code", Consolas, Menlo, "DejaVu Sans Mono", "Liberation Mono", monospace;--fs: 14px;--lh: 1.6}@media(max-width:640px){:root{--fs: 12.5px}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--desk);color:var(--fg);font-family:var(--font);font-size:var(--fs);line-height:var(--lh);overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-ligatures:none}h1,h2,h3,h4,p,ul,ol,pre,figure{margin:0;padding:0;font-size:inherit;font-weight:inherit}ul,ol{list-style:none}pre{font-family:var(--font-box)}a{color:inherit}button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:0;padding:0;cursor:pointer;text-align:inherit}::selection{background:var(--sel-bg);color:var(--sel-fg)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.c-dim{color:var(--dim)}.c-faint{color:var(--faint)}.c-accent{color:var(--accent)}.c-green{color:var(--green)}.c-cyan{color:var(--cyan)}.c-yellow{color:var(--yellow)}.c-red{color:var(--red)}.c-magenta{color:var(--magenta)}.c-blue{color:var(--blue)}.b{font-weight:700}.glow{text-shadow:var(--glow)}.tui-link,.tui-btn{color:var(--cyan);text-decoration:none;outline:none;border-radius:2px;transition:background-color .12s,color .12s}.tui-link{text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:3px}.tui-btn{display:inline-flex;align-items:center;gap:.5ch;color:var(--fg);padding:.1em .9ch;border:1px solid var(--faint);white-space:nowrap}.tui-btn:before{content:"[";color:var(--dim)}.tui-btn:after{content:"]";color:var(--dim)}.tui-btn.primary{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,transparent);text-shadow:var(--glow)}.tui-link:hover,.tui-link:focus-visible,.tui-btn:hover,.tui-btn:focus-visible,[data-nav]:focus-visible{background:var(--sel-bg);color:var(--sel-fg);text-shadow:none;text-decoration-color:transparent;outline:none}.tui-btn:hover:before,.tui-btn:hover:after,.tui-btn:focus-visible:before,.tui-btn:focus-visible:after{color:inherit}.tui-btn:active{transform:translateY(1px)}.box{position:relative;border:1px solid var(--border);padding:1.1em 1.5ch .9em;border-radius:3px}.box>.box-title{position:absolute;top:-.8em;left:1.2ch;padding:0 .8ch;background:var(--bg);color:var(--accent);font-weight:700;white-space:nowrap}.cursor{display:inline-block;width:.62em;height:1.15em;margin-left:1px;vertical-align:-.2em;background:var(--accent);box-shadow:var(--glow);animation:blink 1.05s steps(1) infinite}@keyframes blink{50%{opacity:0}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.desktop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:clamp(0px,2.2vw,28px);background:radial-gradient(circle at 1px 1px,var(--dot) 1px,transparent 0) 0 0 / 22px 22px,var(--desk);transition:padding .3s}.desktop.is-max{padding:0}.term{position:relative;display:flex;flex-direction:column;width:100%;max-width:1360px;height:100%;background:var(--bg);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;animation:power-on .65s cubic-bezier(.2,.8,.2,1) backwards;transition:transform .45s cubic-bezier(.5,0,.2,1),opacity .35s,border-radius .3s,max-width .3s}.desktop.is-max .term{max-width:none;border:0;border-radius:0}.term.is-min{transform:translateY(55vh) scale(.06);opacity:0;pointer-events:none}@keyframes power-on{0%{transform:scale(.6,.004);filter:brightness(4)}40%{transform:scaleY(.004);filter:brightness(3)}75%{transform:scaleY(1.015);filter:brightness(1.3)}}@media(max-width:720px){.desktop{padding:0}.term{border:0;border-radius:0}}.crt-on .term:after,.boot:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;background:repeating-linear-gradient(180deg,transparent 0 2px,rgb(0 0 0 / .17) 2px 3px)}.crt-on .term:before,.boot:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:41;pointer-events:none;background:radial-gradient(ellipse at center,transparent 58%,rgb(0 0 0 / .3) 100%)}[data-theme=light] .crt-on .term:after,[data-theme=light] .boot:after{background:repeating-linear-gradient(180deg,transparent 0 2px,rgb(0 0 0 / .04) 2px 3px)}[data-theme=light] .crt-on .term:before,[data-theme=light] .boot:before{background:radial-gradient(ellipse at center,transparent 62%,rgb(60 50 20 / .1) 100%)}[data-theme=dark] .crt-on .pane{text-shadow:0 0 6px color-mix(in srgb,currentColor 22%,transparent)}.titlebar{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:36px;padding:0 12px;background:var(--bg-2);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;font-size:12.5px}.lights{display:flex;gap:8px}.light{position:relative;width:12px;height:12px;border-radius:50%;background:#ff5f57;box-shadow:inset 0 0 0 .5px #00000040}.light-min{background:#febc2e}.light-max{background:#28c840}.light:after{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font:700 10px/1 system-ui,sans-serif;color:#0000008c;opacity:0}.light-close:after{content:"×"}.light-min:after{content:"–"}.light-max:after{content:"+"}.lights:hover .light:after,.light:focus-visible:after{opacity:1}.light:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.title{min-width:0;color:var(--dim);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-actions{display:flex;justify-content:flex-end;gap:6px}.chip{padding:1px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--dim);font-size:12px;white-space:nowrap;transition:background-color .15s,color .15s}.chip:hover,.chip:focus-visible{background:var(--sel-bg);border-color:var(--sel-bg);color:var(--sel-fg);outline:none}.chip-theme{color:var(--fg)}@media(max-width:640px){.titlebar{grid-template-columns:auto 1fr auto}.chip:not(.chip-theme){display:none}}.pane{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:14px clamp(12px,2.4vw,30px) 28px;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}.pane::-webkit-scrollbar{width:9px}.pane::-webkit-scrollbar-thumb{background:var(--faint);border:2px solid var(--bg);border-radius:9px}.log-entry{margin-top:1.1em}.log-cmd{white-space:pre-wrap;overflow-wrap:anywhere}.log-out{margin-top:.2em;overflow-wrap:anywhere}.log-out pre.plain{line-height:1.3;overflow-x:auto;white-space:pre}.pane-footer{margin-top:3em;padding-top:.8em;border-top:1px dashed var(--border);font-size:.85em}.prompt{flex:none;display:flex;align-items:center;gap:1ch;padding:7px clamp(12px,2.4vw,30px);border-top:1px solid var(--border);background:var(--bg)}.prompt-ps1{white-space:nowrap;cursor:text}.prompt-field{position:relative;flex:1;min-width:0;height:1.6em}.prompt-field input,.prompt-ghost{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;border:0;font:inherit;line-height:1.6em;white-space:pre;overflow:hidden}.prompt-field input{width:100%;background:transparent;color:var(--fg);outline:none;caret-color:var(--accent);caret-shape:block}.ghost-typed{visibility:hidden}.ghost-hint{text-overflow:ellipsis}@media(max-width:640px){.prompt-field{font-size:16px}.prompt .ps1>:nth-child(-n+2){display:none}}.dino-pane{flex:none;border-top:1px solid var(--border);background:var(--bg)}.dino-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 2ch;padding:4px clamp(12px,2.4vw,30px) 0;font-size:11.5px;line-height:1.5;white-space:nowrap}.dino-dot{font-size:.9em}.dino-auto{color:var(--accent);animation:blink 1.6s steps(1) infinite}.dino-play{color:var(--yellow)}.dino-over{color:var(--red)}.dino-close{font-size:11px;padding:0 .6ch}.dino-stage{height:clamp(62px,11vh,104px);cursor:pointer;outline:none;touch-action:manipulation}.dino-stage:focus-visible{box-shadow:inset 0 0 0 1px var(--accent)}.dino-stage canvas{display:block;width:100%;height:100%}.statusbar{flex:none;display:flex;align-items:center;gap:1ch;height:26px;padding:0 6px;border-top:1px solid var(--border);background:var(--sb-bg);color:var(--sb-fg);font-size:12.5px;white-space:nowrap;overflow:hidden}.sb-session{font-weight:700}.sb-windows{display:flex;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.sb-windows::-webkit-scrollbar{display:none}.sb-win{padding:0 .8ch;color:inherit;line-height:26px}.sb-win{opacity:.75}.sb-win:hover{background:#ffffff12;opacity:1}.sb-win.is-active{background:color-mix(in srgb,var(--sb-fg) 16%,var(--sb-bg));font-weight:700;opacity:1;text-shadow:0 0 8px color-mix(in srgb,var(--sb-fg) 45%,transparent)}.sb-win:focus-visible,.sb-help:focus-visible{outline:1px dashed currentColor;outline-offset:-3px}.sb-right{display:flex;align-items:center;gap:1.5ch}.sb-help{color:inherit;font-weight:700}@media(max-width:640px){.sb-session,.sb-clock{display:none}}.dock{position:fixed;bottom:28px;left:50%;translate:-50% 0;padding:10px 18px;border:1px solid var(--border);border-radius:10px;background:var(--bg-2);color:var(--fg);box-shadow:var(--shadow);animation:dock-in .4s .2s cubic-bezier(.2,.9,.3,1.3) backwards}.dock:hover,.dock:focus-visible{border-color:var(--accent);outline:none}@keyframes dock-in{0%{transform:translateY(40px) scale(.8);opacity:0}}.win-cmd{margin-bottom:1em;white-space:pre-wrap;overflow-wrap:anywhere}.win-body{display:flex;flex-direction:column;gap:1.5em}.printing>*{animation:print .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i, 0) * 85ms)}.printing>.n3d-wrap{animation:none}@keyframes print{0%{opacity:0;transform:translateY(8px)}}.h-big{font-size:clamp(1.3rem,3vw,2.05rem);font-weight:700;line-height:1.2;letter-spacing:-.01em}.lede{max-width:82ch;margin-top:-.7em}.prose{max-width:86ch}.comment{color:var(--dim)}.bullets li{padding-left:2ch;text-indent:-2ch}.bullets li:before{content:"› ";color:var(--accent)}kbd{display:inline-block;padding:0 .45ch;border:1px solid var(--faint);border-bottom-width:2px;border-radius:3px;font:inherit;font-size:.88em;line-height:1.35;color:var(--fg)}.badge{display:inline-block;padding:0 .8ch;border-radius:2px;background:var(--yellow);color:var(--bg);font-size:.8em;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}mark{padding:0 1px;border-radius:2px;background:var(--yellow);color:var(--bg)}.box[data-nav]:focus-visible,.commit:focus-visible{background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--fg);outline:1px solid var(--accent)}input[data-nav]:focus-visible,textarea[data-nav]:focus-visible{background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--fg)}.flip{perspective:600px}.flip-ch{display:inline-block;transform-origin:50% 0;text-shadow:0 1px 0 color-mix(in srgb,var(--accent) 55%,var(--bg)),0 2px 0 color-mix(in srgb,var(--accent) 38%,var(--bg)),0 3px 0 color-mix(in srgb,var(--accent) 22%,var(--bg)),0 5px 10px rgb(0 0 0 / .25);animation:flip-in .75s cubic-bezier(.3,1.45,.5,1) backwards;animation-delay:calc(var(--i) * 26ms + .12s);transition:transform .25s cubic-bezier(.2,.8,.2,1.4),color .2s}.flip-ch:hover{color:var(--accent);transform:translateY(-.18em) rotateX(24deg)}@keyframes flip-in{0%{opacity:0;transform:rotateX(-100deg) translateY(-.25em)}55%{opacity:1}}.n3d-wrap{container-type:inline-size;margin-top:-.2em}.n3d{--rx: 0deg;--ry: 0deg;width:fit-content;padding:.6em 1ch .3em 0;perspective:1000px;-webkit-user-select:none;user-select:none}.n3d-stage{transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry))}.n3d-auto .n3d-stage{animation:n3d-sway 10s ease-in-out infinite}@keyframes n3d-sway{0%,to{transform:rotateX(9deg) rotateY(-16deg)}50%{transform:rotateX(-5deg) rotateY(16deg)}}.n3d-word{display:flex;transform-style:preserve-3d;font-size:min(18px,2.4cqi);line-height:1}.n3d-word+.n3d-word{margin-top:.45em}.n3d-letter{position:relative;display:block;transform-style:preserve-3d;cursor:pointer;transition:transform .3s cubic-bezier(.2,.8,.2,1.4)}.n3d-letter:hover{transform:translateZ(28px) translateY(-.2em)}.n3d-letter.n3d-spin{animation:n3d-spin .95s cubic-bezier(.3,.9,.3,1)}@keyframes n3d-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.n3d-wave,.n3d-intro{display:block;transform-style:preserve-3d}.n3d-intro{animation:n3d-in 1.05s cubic-bezier(.2,.9,.25,1.12) backwards;animation-delay:calc(var(--d) * 60ms + 60ms)}@keyframes n3d-in{0%{transform:translate3d(0,-1em,420px) rotateX(-105deg) rotate(-10deg)}}.n3d-wave{animation:n3d-wave 8s ease-in-out infinite;animation-delay:calc(3.8s + var(--d) * 90ms)}@keyframes n3d-wave{0%,15%,to{transform:none}5%{transform:translateZ(24px) rotateX(-32deg)}10%{transform:rotateX(10deg)}}.n3d pre{margin:0;font:inherit;font-family:var(--font-box);line-height:inherit;white-space:pre}.n3d-face{position:relative;color:var(--accent);text-shadow:var(--glow)}.n3d-side{position:absolute;top:0;right:0;bottom:0;left:0;transform:translateZ(calc(var(--z) * -1.7px));color:color-mix(in srgb,var(--accent) calc(40% - var(--z) * 3.5%),var(--bg))}.home-title{font-size:clamp(1rem,2vw,1.25rem);margin-top:-.6em}.home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:1.6em 3ch;align-items:start;max-width:1150px}.home-brief{display:flex;flex-direction:column;gap:.4em}.home-contact{margin-top:.8em}.kv>div{display:grid;grid-template-columns:9ch minmax(0,1fr);gap:1ch}.kv dt{color:var(--accent)}.kv dd{margin:0;overflow-wrap:anywhere}.home-actions{display:flex;flex-wrap:wrap;gap:.8em 2ch}.menu ul{margin-top:.35em}.menu-item{display:grid;grid-template-columns:2ch 3ch 13ch minmax(0,1fr);width:100%;max-width:72ch;padding:.05em .5ch;border-radius:2px;color:var(--fg)}.menu-caret{visibility:hidden}.menu-name{color:var(--blue);font-weight:700}.menu-blurb{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item:hover .menu-caret,.menu-item:focus-visible .menu-caret{visibility:visible}.menu-item:hover *,.menu-item:focus-visible *{color:inherit}.hint{font-size:.92em}@media(max-width:860px){.home-grid{grid-template-columns:1fr}}@media(max-width:520px){.menu-item{grid-template-columns:2ch 3ch 1fr}.menu-blurb{display:none}}.neofetch{display:flex;flex-wrap:wrap;align-items:center;gap:1.2em 4ch}.neofetch-logo{font-size:.85em;line-height:1.05}.ascii3d-wrap{margin:0}.ascii3d{min-height:22em;font-size:clamp(7px,1.25vw,12px);line-height:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ascii3d:active{cursor:grabbing}.ascii3d-wrap figcaption{font-size:11px}.neofetch-info p{overflow-wrap:anywhere}.swatches{margin-top:.4em}.swatches span{display:inline-block;width:2.4ch;height:1.1em;vertical-align:middle}.values{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.7em 1.8ch;margin-top:.4em;perspective:900px}.value{display:flex;flex-direction:column;gap:.3em;transition:transform .3s cubic-bezier(.2,.8,.2,1.3),border-color .2s}.value:hover,.value:focus-visible{border-color:var(--accent);transform:rotateX(8deg) translateY(-4px) translateZ(12px)}.value-title{font-size:1.05em}.branch{position:relative;padding-left:3ch}.branch:before{content:"";position:absolute;left:calc(.7ch - 1px);top:.9em;bottom:-.6em;width:2px;background:var(--branch);opacity:.55}.graph-node{position:absolute;left:-3ch;width:1.4ch;background:var(--bg);color:var(--branch);font-weight:700;text-align:center}.branch-head{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:.3em 1.4ch}.branch-name{font-size:1.4em;font-weight:700}.branch-body{display:flex;flex-direction:column;gap:1.1em;padding:.7em 0 1.4em}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1em 1.6ch;max-width:900px}.stat{display:flex;flex-direction:column;padding:.75em 1.5ch}.stat-value{color:var(--accent);font-size:1.3em;font-weight:700;text-shadow:var(--glow)}.stat-label{font-size:.9em}.commit{position:relative;padding:.6em 1.5ch .9em;border:1px solid transparent;border-radius:3px;transition:border-color .2s,background-color .2s}.commit:hover{border-color:var(--border);background:color-mix(in srgb,var(--fg) 3%,transparent)}.commit>.graph-node{top:.6em;left:calc(-3ch - 1px)}.commit-meta>div{display:flex;gap:1ch}.commit-meta dt{width:5ch;color:var(--dim)}.commit-meta dd{margin:0}.commit-title,.commit-desc,.commit>.diff,.commit-projects{margin-left:4ch;max-width:96ch}.commit-title{margin-top:.6em;margin-bottom:.3em;font-size:1.12em}.commit-desc{margin-bottom:.5em;color:var(--dim)}.diff li{display:grid;grid-template-columns:2ch minmax(0,1fr);padding:.05em .4ch;border-radius:2px}.diff li:hover{background:color-mix(in srgb,var(--green) 10%,transparent)}.diff-sign{color:var(--green);font-weight:700}.subproject-name{margin-top:.7em}.subproject .diff{margin-left:3ch}.graph-end{margin-top:-.4em}.graph-node-inline{margin-right:1ch}@media(max-width:640px){.commit-title,.commit-desc,.commit>.diff,.commit-projects{margin-left:0}.subproject .diff{margin-left:1ch}}.fm{display:grid;grid-template-columns:minmax(260px,36ch) minmax(0,1fr);min-height:440px;border:1px solid var(--border);border-radius:4px}.fm-tree{padding:1em 1.5ch;border-right:1px solid var(--border);background:var(--bg-2)}.tree-branch{font-family:var(--font-box);color:var(--faint);white-space:pre}.tree-item{display:flex;width:calc(100% + 1ch);margin-left:-.5ch;padding:0 .5ch;border-radius:2px;color:var(--fg);white-space:pre}.tree-item.is-selected{background:color-mix(in srgb,var(--accent) 15%,transparent)}.tree-item.is-selected .tree-name{color:var(--accent);font-weight:700}.tree-item:hover .tree-branch,.tree-item:focus-visible .tree-branch,.tree-item:hover .tree-name,.tree-item:focus-visible .tree-name{color:inherit}.tree-count{margin-top:1em;font-size:.9em}.fm-preview{min-width:0;padding:1em 2.2ch 1.5em}.preview{display:flex;flex-direction:column;gap:.9em;animation:print .35s cubic-bezier(.2,.7,.2,1) backwards}.preview-path{overflow-wrap:anywhere}.preview-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5em 1.5ch}.preview-title{font-size:1.3em;font-weight:700}.award{color:var(--yellow);font-weight:700}.tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5em 1ch}.tag{padding:0 .8ch;border:1px solid color-mix(in srgb,var(--cyan) 50%,transparent);border-radius:2px;color:var(--cyan);font-size:.92em}.ascii-img figcaption{margin-top:.5em;font-size:.9em}.ascii-img{margin:0}.ascii-img-frame{position:relative;width:fit-content;max-width:100%;padding:.6em 1ch;overflow:hidden;border:1px dashed var(--border);border-radius:3px}.ascii-art{display:block;width:min(100%,470px);height:auto}.ascii-photo{display:block;max-width:min(100%,480px);height:auto;border-radius:2px;animation:print .4s backwards}@media(max-width:860px){.fm{grid-template-columns:1fr}.fm-tree{border-right:0;border-bottom:1px solid var(--border)}}.grep-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5em 1.4ch;padding:.5em 1.5ch;border:1px solid var(--border);border-radius:3px;background:var(--bg-2)}.grep-label{white-space:nowrap}.grep-input{flex:1 1 16ch;min-width:12ch;padding:0 .4ch;border:0;border-bottom:1px dashed var(--faint);background:transparent;outline:none;color:var(--yellow)!important;caret-color:var(--accent)}.grep-input:focus{border-bottom-color:var(--accent)}.skills-layout{display:grid;grid-template-columns:minmax(300px,520px) minmax(0,1fr);gap:2em 3ch;align-items:start}.globe{position:relative;width:100%;max-width:520px;aspect-ratio:5 / 4;margin-inline:auto;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 8%,transparent),transparent 66%);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.globe.is-dragging{cursor:grabbing}.globe-word{position:absolute;top:50%;left:50%;padding:0 .4ch;border-radius:2px;font-size:12px;font-weight:700;white-space:nowrap;will-change:transform,opacity}.globe-word.is-dim{color:var(--faint)!important}.globe-word:hover{background:var(--sel-bg);color:var(--sel-fg)!important;filter:none!important}.globe-hint{margin-top:.3em;font-size:11.5px;text-align:center}.skill-boxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:1.8em 1.7ch;padding-top:.6em}.skill-box{border-color:color-mix(in srgb,var(--cat) 35%,var(--border));transition:opacity .25s}.skill-box .box-title{color:var(--cat)}.skill-box.is-empty{opacity:.35}.skill-box li{transition:opacity .2s}.skill-box li.is-miss{opacity:.28}.skill-dot{color:var(--cat)}@media(max-width:980px){.skills-layout{grid-template-columns:1fr}}@media(max-width:520px){.globe-word{font-size:10px}}.man-header{display:flex;justify-content:space-between;gap:1ch;font-weight:700}.man-page{display:flex;flex-direction:column;gap:1.3em}.man-h{font-weight:700}.man-body{max-width:96ch;margin-top:.2em;padding-left:7ch}.man-opts>div{margin-bottom:.45em}.man-opts dd{margin:0 0 0 4ch}.award-block{display:flex;flex-wrap:wrap;align-items:center;gap:1em 4ch}.trophy{line-height:1.15;transform-origin:50% 100%;animation:trophy-swing 5s ease-in-out infinite}@keyframes trophy-swing{0%,to{transform:perspective(500px) rotateY(-24deg)}50%{transform:perspective(500px) rotateY(24deg)}}@media(max-width:640px){.man-body{padding-left:2ch}}.contact-table{display:flex;flex-direction:column;max-width:920px;border:1px solid var(--border);border-radius:3px}.contact-row{display:grid;grid-template-columns:10ch minmax(0,1fr) auto;align-items:center;gap:.3em 2ch;padding:.55em 1.5ch;border-bottom:1px dashed var(--border)}.contact-row:last-child{border-bottom:0}.contact-row:hover{background:color-mix(in srgb,var(--fg) 3%,transparent)}.contact-val{overflow-wrap:anywhere}.contact-actions{display:flex;gap:1ch}.compose{display:flex;flex-direction:column;gap:.6em;max-width:920px;padding-top:1.3em}.compose-cmd{overflow-wrap:anywhere}.field{display:grid;grid-template-columns:10ch minmax(0,1fr);align-items:baseline;gap:1ch}.field input,.field textarea{padding:.15em .4ch;border:0;border-bottom:1px dashed var(--faint);background:transparent;outline:none;color:var(--fg);caret-color:var(--accent);resize:vertical}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.field input::placeholder,.field textarea::placeholder,.grep-input::placeholder{color:var(--faint)}.compose-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6em 2ch;margin-top:.4em}@media(max-width:560px){.contact-row{grid-template-columns:1fr}.field{grid-template-columns:1fr;gap:0}}.help-row{display:grid;grid-template-columns:10ch minmax(0,1fr);gap:1ch}.cmd-link{color:var(--cyan)}.ls-grid{display:flex;flex-wrap:wrap;gap:.2em 3ch}.neofetch-info{min-width:0}.boot{position:fixed;top:0;right:0;bottom:0;left:0;padding:clamp(14px,3vw,40px);overflow:hidden;background:var(--bg);color:var(--fg);font-size:clamp(11px,1.5vw,14px);line-height:1.5;cursor:default}.boot-log{height:100%;overflow:hidden}.boot-line{min-height:1.5em;white-space:pre-wrap;overflow-wrap:anywhere}.boot-bios{color:var(--accent);font-weight:700;text-shadow:var(--glow)}.boot-ok{color:var(--green);font-weight:700;white-space:pre}.boot-skip{position:absolute;right:clamp(14px,3vw,40px);bottom:clamp(10px,2vw,24px);z-index:50;font-size:12px;animation:blink 1.4s steps(1) infinite}.boot-leave{animation:crt-off .42s cubic-bezier(.6,0,.9,.4) forwards}@keyframes crt-off{55%{transform:scaleY(.006);filter:brightness(3)}to{transform:scale(0,.006);filter:brightness(6);opacity:0}}.session-ended .boot-log{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:60ch;margin:0 auto}.matrix{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000;animation:print .3s backwards}.matrix canvas{display:block;width:100%;height:100%}.matrix-hint{position:absolute;right:20px;bottom:16px;color:#6bf178;font-size:12px;opacity:.7}
