:root{--bg:#0f1011;--bar:#1a1b1d;--line:#28292c;--line2:#37393d;--fg:#e6e6e3;--ink:#c9cac6;--mid:#a9aba7;--dim:#8b8d8a;--faint:#47494b;--acc:#3fd68a;--emp:#ff5a1f;--hi:#f5f5f2;--mono:"IBM Plex Mono","Nanum Gothic Coding",ui-monospace,monospace;--ko:"Nanum Gothic Coding","IBM Plex Mono",ui-monospace,monospace;--t1:clamp(24px,calc(21.09px + .777vw),36px);--t2:clamp(18px,calc(17.51px + .1294vw),20px);--t3:clamp(15px,calc(14.51px + .1294vw),17px);--t4:clamp(13px,calc(12.76px + .0647vw),14px);--t5:clamp(12px,calc(11.76px + .0647vw),13px);--ti:clamp(11px,calc(10.76px + .0647vw),12px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg)}body{background:var(--bg);color:var(--fg);font:400 var(--t3)/1.75 var(--ko);word-break:keep-all;-webkit-text-size-adjust:100%;padding-bottom:calc(2.4rem + env(safe-area-inset-bottom,0px));margin:0}button{font:inherit}a{color:inherit}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tmux,.vim{white-space:nowrap;font:400 var(--t5)/1 var(--mono);background:var(--bar);color:var(--mid);align-items:center;min-height:2.3em;display:flex}.tmux{z-index:5;padding-top:env(safe-area-inset-top,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);position:sticky;top:0}.tmux .ses{background:var(--acc);color:var(--bg);flex:none;padding:.65em .8em;font-weight:600}.tabs{scrollbar-width:none;min-width:0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{color:var(--mid);flex:none;padding:.65em .7em;text-decoration:none}.tabs a:hover{color:var(--fg)}.tabs a.on{color:var(--fg);background:var(--line)}.tabs a:focus-visible,.cp:focus-visible,.linkbtn:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.tmux .r,.vim .r{color:var(--dim);flex:none;margin-left:auto;padding:0 1em}.tmux .r{color:var(--fg)}.vim{z-index:5;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);position:fixed;bottom:0;left:0;right:0;overflow:hidden}.vim .mode{background:var(--fg);color:var(--bg);padding:.65em .8em;font-weight:600}.vim .f{color:var(--ink);text-overflow:ellipsis;padding:0 1em;overflow:hidden}.vim .sec{color:var(--acc)}.mid{font-size:var(--t5);padding-left:3.6em;position:relative}.gut{text-align:right;color:#3c3e42;width:3.6em;font:400 var(--t5)/1.75 var(--mono);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line);margin:0;padding:1.6em .7em 0 0;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.grid{width:100%;max-width:1840px;font-size:var(--t3);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:30px 22px;margin-inline:auto;padding:30px 28px 40px;display:grid}.hero,#projects{grid-column:1/-1}[data-sec]{scroll-margin-top:calc(2.3em + 20px)}@media (max-width:1099px){.mid{padding-left:0}.gut{display:none}.grid{padding:24px max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px));grid-template-columns:minmax(0,1fr);gap:28px}.pjg{grid-template-columns:minmax(0,1fr)!important}}.hero{text-align:center;justify-items:center;gap:12px;padding:14px 0 6px;display:grid}.logobox{width:min(100%,768px);container-type:inline-size}.logo{white-space:pre;text-align:left;margin:0;font:400 min(8px,1.04167cqi)/1.2 IBM Plex Mono,ui-monospace,monospace;overflow:hidden}.la{color:var(--acc)}.lf{color:var(--dim);opacity:.6}.tag{font:700 var(--t1)/1.35 var(--ko);letter-spacing:-.02em;text-wrap:balance;margin:0}.tag b{color:var(--emp);font-weight:700}.sub{color:var(--dim);font-size:var(--t3);margin:0}.cur{background:var(--emp);vertical-align:-.12em;width:.55em;height:1em;margin-left:.35em;animation:1.05s step-end infinite kk-blink;display:inline-block}@keyframes kk-blink{50%{opacity:0}}.pane{border:1px solid var(--line2);border-radius:3px;align-content:start;gap:.7em;min-width:0;padding:1.5em 1.2em 1.1em;transition:border-color .15s;display:grid;position:relative}.pane:hover{border-color:var(--emp)}.pt{background:var(--bg);font:500 var(--t5)/1.6 var(--mono);color:var(--dim);padding:0 .45em;position:absolute;top:-.85em;left:.8em}.pane:hover .pt{color:var(--fg)}.ch{align-items:center;gap:1em;min-width:0;display:flex}.ico{font:400 var(--ti)/1.2 "IBM Plex Mono",ui-monospace,monospace;color:var(--dim);white-space:pre;flex:none;margin:0;transition:color .15s}.ico b{color:color-mix(in srgb,var(--acc) 50%,var(--dim));font-weight:400}.pane:hover .ico{color:var(--ink)}.pane:hover .ico b{color:var(--emp)}.ttl{font:700 var(--t3)/1.4 var(--ko);color:var(--fg);margin:0}.cmd{color:var(--dim);font:400 var(--t5) var(--mono);margin:0}.cmd i{color:var(--mid);font-style:normal}.cmd b{color:var(--acc);font-weight:400}.pane p,.pane ol,.pane dl,.pane h3{margin:0}.lead{font:700 var(--t2)/1.5 var(--ko);color:var(--fg)}.lead em{color:var(--emp);font-style:normal}.txt{color:var(--ink)}.dimtxt{color:var(--dim);font-size:var(--t4)}.rules{gap:.15em;padding:0;list-style:none;display:grid}.rules li{grid-template-columns:2em minmax(0,1fr);display:grid}.rules li span:first-child{color:var(--dim)}.pjg{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.pc{border:1px solid var(--line);border-radius:3px;align-items:center;gap:1em;min-width:0;padding:.9em;display:flex}.img{border:1px solid var(--line2);width:72px;height:72px;font:700 var(--t4) var(--ko);color:var(--fg);background:var(--bar);border-radius:14px;flex:none;place-items:center;display:grid}.img img{object-fit:cover;border-radius:13px;width:100%;height:100%}.pci{gap:.2em;min-width:0;display:grid}.pn{font:700 var(--t2)/1.4 var(--ko);color:var(--fg)}.pd{font-size:var(--t4);color:var(--ink)}.pm{font:400 var(--t5) var(--mono);color:var(--dim);align-items:center;gap:1em;display:flex}.st{border:1px solid color-mix(in srgb,var(--acc) 55%,transparent);color:var(--acc);border-radius:3px;padding:0 .45em}.pm a{color:var(--acc);text-underline-offset:3px}.ct{font:400 var(--t3) var(--mono);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5em 1em;display:grid}.ct .k{color:var(--dim);font-size:var(--t5)}.ct .v{color:var(--fg);overflow-wrap:anywhere}.cp{color:var(--dim);border:1px solid var(--line2);font:400 var(--t5) var(--ko);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:.15em .7em}.cp:hover{color:var(--fg);border-color:var(--dim)}.cp.ok{color:var(--acc);border-color:var(--acc)}.ask{border:1px solid var(--line2);border-radius:3px;flex-wrap:wrap;align-items:center;gap:.6em;padding:.45em .8em;display:flex}.ask span{min-width:12em;color:var(--ink);flex:1}.info{font:400 var(--t4)/1.6 var(--ko);color:var(--mid);grid-template-columns:auto minmax(0,1fr);gap:.3em 1.2em;display:grid}.info dt{color:var(--dim)}.info dd{overflow-wrap:anywhere;margin:0}.foot{font:400 var(--t5) var(--mono);color:var(--dim)}.linkbtn{color:var(--acc);text-underline-offset:3px;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}@media (prefers-reduced-motion:reduce){.cur{animation:none}.pane,.ico{transition:none}html{scroll-behavior:auto}}
