:root{--v2-bg: #07090d;--v2-bg-1: #0c1117;--v2-bg-2: #11161e;--v2-bg-3: #161c26;--v2-hair: #1d242f;--v2-hair-soft: #141a23;--v2-ink: #e6e9ef;--v2-ink-soft: #aab2c0;--v2-ink-dim: #6c7480;--v2-ink-faint: #3d434e;--v2-mint: #4dffd2;--v2-mint-dim: oklch(.78 .14 175);--v2-cyan: #5cc7ff;--v2-amber: #f7c873;--v2-pink: #ff7ec7;--v2-red: #ff6f6f;--v2-mute: #8d96a3;--v2-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--v2-sans: "Geist", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif}.v2{background:var(--v2-bg);color:var(--v2-ink);font-family:var(--v2-mono);font-size:13px;line-height:1.55;min-height:100vh;letter-spacing:0;overflow-x:hidden}html,body{max-width:100vw;overflow-x:clip}.v2-shell,.v2-body,.v2-main{min-width:0}.v2-tabs{overflow:hidden;position:sticky}.v2 *{box-sizing:border-box}.v2 ::selection{background:var(--v2-mint);color:var(--v2-bg)}.v2 a{color:inherit;text-decoration:none}.v2 button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}.v2:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;background:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px) 0 0 / 100% 4px,radial-gradient(ellipse at top,rgba(77,255,210,.04),transparent 60%)}.v2-shell{display:grid;grid-template-rows:52px 1fr 26px;min-height:100vh}.v2-tabs{display:flex;align-items:stretch;background:var(--v2-bg-1);border-bottom:1px solid var(--v2-hair);font-size:12px;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:50}.v2-tabs-row{display:contents}.v2-tab-current,.v2-menu-btn{display:none}.v2-tabs .traffic{display:flex;gap:7px;align-items:center;padding:0 20px;border-right:1px solid var(--v2-hair);flex-shrink:0}.v2-tabs .traffic i{width:11px;height:11px;border-radius:50%;display:inline-block;background:var(--v2-ink-faint)}.v2-tabs .traffic i:nth-child(1){background:#ff6055}.v2-tabs .traffic i:nth-child(2){background:#f7c873}.v2-tabs .traffic i:nth-child(3){background:var(--v2-mint)}.v2-tabs .v2-tab{display:inline-flex;align-items:center;gap:12px;padding:0 32px;color:var(--v2-ink-dim);border-right:1px solid var(--v2-hair);position:relative;transition:color .2s,background .25s,box-shadow .3s;font-weight:400;flex-shrink:0;white-space:nowrap}.v2-tabs .v2-tab:hover{color:var(--v2-ink-soft);background:var(--v2-bg-2)}.v2-tabs .v2-tab[aria-current=true]{color:var(--v2-ink);background:var(--v2-bg);box-shadow:inset 0 2px 0 0 var(--v2-mint)}.v2-tabs .v2-tab[aria-current=true]:after{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--v2-mint);box-shadow:0 0 12px var(--v2-mint);opacity:.55;animation:v2-underglow 2.4s ease-in-out infinite}@keyframes v2-underglow{0%,to{opacity:.35}50%{opacity:.9}}.v2-tabs .v2-tab .ico{color:var(--v2-mint-dim)}.v2-tabs .v2-tab[aria-current=true] .ico{color:var(--v2-mint)}.v2-tabs .v2-tab .x{color:var(--v2-ink-faint);margin-left:4px;font-size:12px}.v2-tabs .v2-tab:hover .x{color:var(--v2-ink-dim)}.v2-tabs .spacer{flex:1;min-width:0}.v2-tabs .right{display:flex;align-items:center;gap:14px;padding:0 20px;color:var(--v2-ink-dim);border-left:1px solid var(--v2-hair);font-size:11.5px;flex-shrink:0;white-space:nowrap}.v2-tabs .right .dot{color:var(--v2-ink-faint)}.v2-tabs .right .live:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v2-mint);display:inline-block;margin-right:6px;box-shadow:0 0 8px var(--v2-mint);animation:v2-blink 2s ease-in-out infinite}@keyframes v2-blink{50%{opacity:.4}}.v2-tabs:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 38%,color-mix(in oklab,var(--v2-mint),transparent 88%) 50%,transparent 62%,transparent 100%);width:100%;transform:translate(-100%);animation:v2-scan 7s linear 4s infinite;mix-blend-mode:screen}@keyframes v2-scan{0%{transform:translate(-100%);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translate(100vw);opacity:0}}.v2-body{display:grid;grid-template-columns:240px 1fr;min-height:0;position:relative}.v2-body:before{content:"";position:absolute;top:0;bottom:0;left:0;width:240px;background:var(--v2-bg-1);border-right:1px solid var(--v2-hair);pointer-events:none;z-index:0}@media (max-width: 900px){.v2-body{grid-template-columns:1fr}.v2-body:before{display:none}.v2-side{display:none}}.v2-side{background:transparent;font-size:12px;padding:16px 0 24px;position:sticky;top:52px;height:calc(100vh - 78px);overflow:auto;z-index:1}.v2-side .hdr{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px;color:var(--v2-ink-faint);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}.v2-side .group{padding:4px 0 12px}.v2-side .group>.label{padding:6px 16px;color:var(--v2-ink-dim);display:flex;align-items:center;gap:8px;cursor:pointer}.v2-side .group>.label .chev{color:var(--v2-ink-faint);font-size:10px;transition:transform .15s}.v2-side .item{padding:5px 16px 5px 36px;color:var(--v2-ink-soft);cursor:pointer;position:relative;display:flex;align-items:center;gap:8px;transition:color .15s,background .12s;border-left:2px solid transparent}.v2-side .item:hover{color:var(--v2-ink);background:var(--v2-bg-2)}.v2-side .item[aria-current=true]{color:var(--v2-mint);background:color-mix(in oklab,var(--v2-mint),transparent 92%);border-left-color:var(--v2-mint)}.v2-side .item .ico{color:var(--v2-ink-faint);font-size:11px}.v2-side .item[aria-current=true] .ico{color:var(--v2-mint)}.v2-side .item .ct{margin-left:auto;color:var(--v2-ink-faint);font-size:10.5px}.v2-main{min-width:0;background:var(--v2-bg)}.v2-pane-head{display:flex;align-items:center;gap:14px;padding:14px 28px;border-bottom:1px solid var(--v2-hair);font-size:11.5px;color:var(--v2-ink-dim);letter-spacing:.04em}.v2-pane-head .crumb{display:flex;align-items:center;gap:8px}.v2-pane-head .crumb .slash{color:var(--v2-ink-faint)}.v2-pane-head .crumb .file{color:var(--v2-ink)}.v2-pane-head .actions{margin-left:auto;display:flex;gap:14px;align-items:center}.v2-pane-head .actions .key{display:inline-block;padding:1px 6px;border:1px solid var(--v2-hair);border-radius:3px;font-size:10.5px;color:var(--v2-ink-soft);background:var(--v2-bg-1)}.v2-status{display:flex;align-items:center;gap:16px;padding:0 16px;background:var(--v2-bg-1);border-top:1px solid var(--v2-hair);font-size:11px;color:var(--v2-ink-dim);letter-spacing:.02em;position:sticky;bottom:0;z-index:40}.v2-status .seg{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.v2-status .seg.mint{color:var(--v2-mint)}.v2-status .seg.amber{color:var(--v2-amber)}.v2-status .seg .sw{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.85}.v2-status .spacer{flex:1;min-width:0}.v2-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,var(--v2-bg),transparent 30%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;animation:v2-fade .15s ease-out}@keyframes v2-fade{0%{opacity:0}to{opacity:1}}.v2-drawer{position:absolute;top:0;right:0;bottom:0;width:min(320px,86vw);background:var(--v2-bg-1);border-left:1px solid var(--v2-hair);padding:14px 0 24px;overflow:auto;animation:v2-slide .2s cubic-bezier(.2,.7,.3,1)}@keyframes v2-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.v2-drawer-hdr{display:flex;align-items:center;justify-content:space-between;padding:0 18px 14px;border-bottom:1px solid var(--v2-hair);color:var(--v2-ink-faint);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase}.v2-drawer-x{color:var(--v2-ink-soft);font-size:22px;width:36px;height:36px;display:inline-grid;place-items:center;margin:-6px}.v2-drawer-x:hover{color:var(--v2-ink)}.v2-drawer-group{padding:14px 0 6px}.v2-drawer-label{padding:0 18px 8px;color:var(--v2-ink-dim);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.v2-drawer-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 18px;color:var(--v2-ink-soft);text-align:left;border-left:2px solid transparent;font-size:14px;min-height:44px}.v2-drawer-item .ico{color:var(--v2-ink-faint);font-size:12px}.v2-drawer-item[aria-current=true]{color:var(--v2-mint);background:color-mix(in oklab,var(--v2-mint),transparent 92%);border-left-color:var(--v2-mint)}.v2-drawer-item[aria-current=true] .ico{color:var(--v2-mint)}.v2-menu-btn{display:none;width:44px;align-items:center;justify-content:center;gap:4px;flex-direction:column;border-left:1px solid var(--v2-hair);flex-shrink:0}.v2-menu-btn span{display:block;width:18px;height:1.5px;background:var(--v2-ink-soft);transition:background .15s}.v2-menu-btn:hover span,.v2-menu-btn[aria-expanded=true] span{background:var(--v2-mint)}.v2-pane{padding:36px 28px 80px;max-width:1180px}.v2-pane h1{margin:0;font-family:var(--v2-sans);font-weight:500;letter-spacing:-.03em}.v2-pane h2{margin:0;font-family:var(--v2-sans);font-weight:500;letter-spacing:-.025em}.v2-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:end}@media (max-width: 900px){.v2-hero{grid-template-columns:1fr;gap:28px}}.v2-prompt{font-size:12.5px;color:var(--v2-ink-dim);margin-bottom:24px;display:flex;gap:10px;flex-wrap:wrap}.v2-prompt .who{color:var(--v2-mint)}.v2-prompt .at{color:var(--v2-ink-faint)}.v2-prompt .host{color:var(--v2-cyan)}.v2-prompt .colon{color:var(--v2-ink-faint)}.v2-prompt .path{color:var(--v2-amber)}.v2-prompt .cmd{color:var(--v2-ink)}.v2-prompt .arrow{color:var(--v2-mint)}.v2-hero h1{font-size:clamp(48px,8vw,112px);line-height:.92;margin:6px 0 24px;color:var(--v2-ink);overflow-wrap:anywhere;opacity:0;animation:v2-fadeup .7s cubic-bezier(.2,.7,.3,1) .05s forwards}.v2-hero h1 .ital{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400;color:var(--v2-mint);letter-spacing:-.02em}.v2-hero .lede{font-family:var(--v2-sans);font-size:clamp(17px,1.8vw,21px);line-height:1.45;color:var(--v2-ink-soft);letter-spacing:-.01em;max-width:56ch;margin:0 0 28px;opacity:0;animation:v2-fadeup .6s ease-out .25s forwards}.v2-hero .lede em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--v2-mint);font-weight:400}.v2-metalist{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;font-size:12.5px;margin-top:4px;opacity:0;animation:v2-fadeup .6s ease-out .35s forwards}.v2-metalist dt{color:var(--v2-ink-faint)}.v2-metalist dd{margin:0;color:var(--v2-ink);overflow-wrap:anywhere}.v2-metalist dd .tag{display:inline-block;padding:1px 7px;border-radius:3px;background:color-mix(in oklab,var(--v2-mint),transparent 88%);color:var(--v2-mint);border:1px solid color-mix(in oklab,var(--v2-mint),transparent 70%);margin-left:6px;font-size:11px}.v2-hero .v2-prompt{opacity:0;animation:v2-fadeup .6s ease-out .05s forwards}.v2-portrait{position:relative;border:1px solid var(--v2-hair);background:var(--v2-bg-1);aspect-ratio:4 / 5;overflow:hidden;border-radius:4px;animation:v2-fadein .8s ease-out .15s backwards}.v2-portrait img{width:100%;height:100%;object-fit:cover;filter:grayscale(.6) contrast(1.05) brightness(.85);mix-blend-mode:luminosity}.v2-portrait:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,var(--v2-bg-1) 130%),radial-gradient(ellipse at 30% 20%,rgba(77,255,210,.18),transparent 55%);pointer-events:none}.v2-portrait .head{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;font-size:10.5px;color:var(--v2-ink-dim);letter-spacing:.1em;text-transform:uppercase;z-index:2}.v2-portrait .head .live{color:var(--v2-mint);display:inline-flex;align-items:center;gap:5px}.v2-portrait .head .live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--v2-mint);box-shadow:0 0 8px var(--v2-mint)}.v2-portrait .foot{position:absolute;left:10px;right:10px;bottom:10px;font-size:10.5px;color:var(--v2-ink-soft);display:flex;justify-content:space-between;z-index:2}.v2-portrait .corners{position:absolute;top:6px;right:6px;bottom:6px;left:6px;pointer-events:none;z-index:2}.v2-portrait .corners:before,.v2-portrait .corners:after,.v2-portrait .corners>span:before,.v2-portrait .corners>span:after{content:"";position:absolute;width:12px;height:12px;border:1px solid var(--v2-mint)}.v2-portrait .corners:before{top:0;left:0;border-right:0;border-bottom:0}.v2-portrait .corners:after{top:0;right:0;border-left:0;border-bottom:0}.v2-portrait .corners>span{position:absolute;top:0;right:0;bottom:0;left:0}.v2-portrait .corners>span:before{bottom:0;left:0;border-right:0;border-top:0}.v2-portrait .corners>span:after{bottom:0;right:0;border-left:0;border-top:0}.v2-boot{margin-top:44px;border-top:1px dashed var(--v2-hair);padding-top:18px;font-size:12px;color:var(--v2-ink-dim);display:grid;gap:4px;max-width:760px}.v2-boot .ok{color:var(--v2-mint);animation:v2-okpulse .4s ease-out backwards}@keyframes v2-okpulse{0%{color:var(--v2-mint);text-shadow:0 0 12px var(--v2-mint)}to{color:var(--v2-mint);text-shadow:0 0 0 transparent}}.v2-boot .ts{color:var(--v2-ink-faint)}.v2-boot>div{overflow-wrap:anywhere;clip-path:inset(0 100% 0 0);animation:v2-typeon .5s cubic-bezier(.3,.7,.4,1) forwards}.v2-boot>div:nth-child(1){animation-delay:.55s}.v2-boot>div:nth-child(2){animation-delay:.85s}.v2-boot>div:nth-child(3){animation-delay:1.15s}.v2-boot>div:nth-child(4){animation-delay:1.45s}.v2-boot>div:nth-child(5){animation-delay:1.75s}.v2-readme{border:1px solid var(--v2-hair);border-radius:6px;overflow:hidden;background:var(--v2-bg-1);max-width:880px;animation:v2-fadeup .55s ease-out backwards}.v2-readme .bar{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--v2-hair);font-size:11.5px;color:var(--v2-ink-dim);background:var(--v2-bg-2)}.v2-readme .bar .filename{color:var(--v2-ink)}.v2-readme .bar .lang{margin-left:auto;color:var(--v2-mint)}.v2-readme .body{padding:32px 36px;font-family:var(--v2-sans)}.v2-readme h1{font-size:clamp(28px,4vw,44px);font-weight:500;letter-spacing:-.025em;margin:0 0 16px}.v2-readme h1 .hash{color:var(--v2-mint);font-weight:400;margin-right:8px;opacity:.7}.v2-readme p{margin:0 0 16px;color:var(--v2-ink-soft);font-size:17px;line-height:1.6;letter-spacing:-.005em;text-wrap:pretty}.v2-readme p strong{color:var(--v2-ink);font-weight:500}.v2-readme p em{font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--v2-mint);font-weight:400}.v2-stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:36px;border:1px solid var(--v2-hair);border-radius:6px;overflow:hidden;max-width:880px;background:var(--v2-bg-1);animation:v2-fadeup .55s ease-out backwards}.v2-stats>div{padding:22px;border-right:1px solid var(--v2-hair)}.v2-stats>div:last-child{border-right:0}.v2-stats .k{font-family:var(--v2-sans);font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.03em;color:var(--v2-ink);line-height:1;animation:v2-fadein 1s ease-out backwards;animation-delay:.2s}.v2-stats .k .u{color:var(--v2-mint);font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-weight:400}.v2-stats .lbl{margin-top:10px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--v2-ink-dim)}@media (max-width: 700px){.v2-stats{grid-template-columns:1fr 1fr}.v2-stats>div:nth-child(2){border-right:0}.v2-stats>div:nth-child(-n+2){border-bottom:1px solid var(--v2-hair)}}.v2-jsonl{border:1px solid var(--v2-hair);border-radius:6px;background:var(--v2-bg-1);overflow:hidden}.v2-jsonl .bar{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--v2-hair);font-size:11.5px;color:var(--v2-ink-dim);background:var(--v2-bg-2)}.v2-jsonl .bar .filename{color:var(--v2-ink)}.v2-jsonl .bar .lang{margin-left:auto;color:var(--v2-amber)}.v2-jrow{display:grid;grid-template-columns:48px 1fr;border-bottom:1px solid var(--v2-hair-soft);font-size:13px;animation:v2-fadeup .4s ease-out backwards;animation-delay:calc(var(--i, 0) * 60ms + .1s)}.v2-jrow:last-child{border-bottom:0}.v2-jrow .ln{padding:14px 8px;text-align:right;color:var(--v2-ink-faint);border-right:1px solid var(--v2-hair-soft);-webkit-user-select:none;user-select:none;font-size:11.5px;line-height:1.55}.v2-jrow .data{padding:12px 18px 14px;cursor:pointer;transition:background .12s;min-width:0;overflow-wrap:anywhere}.v2-jrow .data:hover{background:var(--v2-bg-2)}.v2-jrow[data-open=true] .data{background:color-mix(in oklab,var(--v2-mint),transparent 95%)}.v2-jrow .compact{display:flex;gap:4px;flex-wrap:wrap;align-items:baseline}.v2-jrow .compact .brace{color:var(--v2-ink-faint)}.v2-jrow .compact .k{color:var(--v2-cyan)}.v2-jrow .compact .s{color:var(--v2-amber)}.v2-jrow .compact .n{color:var(--v2-mint)}.v2-jrow .compact .c{color:var(--v2-ink-faint);margin-right:6px}.v2-jrow .compact .ellipsis{color:var(--v2-ink-faint)}.v2-jrow .expanded{display:none;margin-top:12px;padding-left:14px;border-left:2px solid var(--v2-hair)}.v2-jrow[data-open=true] .expanded{display:block}.v2-jrow .expanded .row{display:flex;gap:8px;flex-wrap:wrap;padding:3px 0;line-height:1.5}.v2-jrow .expanded .row .k{color:var(--v2-cyan)}.v2-jrow .expanded .row .s{color:var(--v2-amber)}.v2-jrow .expanded .row .text{color:var(--v2-ink-soft);flex:1;min-width:0;word-break:break-word;font-family:var(--v2-sans);font-size:14px;line-height:1.55}.v2-jrow .expanded .arr{margin:6px 0 4px 14px;display:flex;flex-direction:column;gap:4px}.v2-jrow .expanded .arr li{list-style:none;color:var(--v2-amber);position:relative;padding-left:14px;line-height:1.55}.v2-jrow .expanded .arr li:before{content:"–";position:absolute;left:0;color:var(--v2-ink-faint)}.v2-jrow .expanded .arr li span.text{color:var(--v2-ink-soft);font-family:var(--v2-sans);font-size:14px;display:block}.v2-skills-head{display:grid;grid-template-columns:1fr auto;gap:18px;margin-bottom:18px;align-items:end}.v2-skills-head h2{font-size:clamp(28px,4vw,42px);margin:0;color:var(--v2-ink)}.v2-skills-head h2 .ital{font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--v2-mint);font-weight:400}.v2-skills-head .legend{display:flex;gap:14px;align-items:center;font-size:11px;color:var(--v2-ink-dim);letter-spacing:.04em;flex-wrap:wrap}.v2-skills-head .legend .lvl{display:inline-flex;gap:6px;align-items:center}.v2-dots{display:inline-flex;gap:3px}.v2-dots i{width:6px;height:6px;background:var(--v2-ink-faint);display:inline-block;border-radius:1px}.v2-dots i.on{background:var(--v2-mint)}.v2-grep{display:flex;align-items:center;gap:10px;border:1px solid var(--v2-hair);background:var(--v2-bg-1);border-radius:6px;padding:8px 14px;margin-bottom:14px}.v2-grep .lead{color:var(--v2-mint);flex-shrink:0}.v2-grep input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--v2-ink);font:inherit;font-size:13px}.v2-grep input::placeholder{color:var(--v2-ink-faint)}.v2-grep .hint{color:var(--v2-ink-faint);font-size:11px;flex-shrink:0}.v2-grep .hint kbd{display:inline-block;padding:1px 5px;border:1px solid var(--v2-hair);border-radius:3px;background:var(--v2-bg-2);color:var(--v2-ink-soft);font:inherit;font-size:10.5px}.v2-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.v2-chips .v2-chip{font-family:var(--v2-mono);font-size:11px;padding:7px 16px;border:1px solid var(--v2-hair);border-radius:999px;background:var(--v2-bg-1);color:var(--v2-ink-dim);cursor:pointer;transition:all .12s;display:inline-flex;gap:8px}.v2-chips .v2-chip:hover{color:var(--v2-ink);border-color:var(--v2-ink-faint)}.v2-chips .v2-chip[aria-pressed=true]{color:var(--v2-bg);background:var(--v2-mint);border-color:var(--v2-mint)}.v2-chips .v2-chip .ct{color:var(--v2-ink-faint)}.v2-chips .v2-chip[aria-pressed=true] .ct{color:color-mix(in oklab,var(--v2-bg),transparent 30%)}.v2-table{border:1px solid var(--v2-hair);border-radius:6px;overflow:hidden;background:var(--v2-bg-1)}.v2-table .thead{display:grid;grid-template-columns:36px 1.6fr 1.4fr 100px 70px 24px;background:var(--v2-bg-2);border-bottom:1px solid var(--v2-hair);padding:10px 14px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--v2-ink-dim);gap:14px}.v2-table .thead button{text-align:left;display:inline-flex;align-items:center;gap:6px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.v2-table .thead button:hover{color:var(--v2-ink)}.v2-table .thead button.active{color:var(--v2-mint)}.v2-table .thead button .arr{font-size:9px}.v2-table .thead .right{text-align:right}.v2-table .thead .center{text-align:center}.v2-trow{display:grid;grid-template-columns:36px 1.6fr 1.4fr 100px 70px 24px;gap:14px;padding:11px 14px;border-bottom:1px solid var(--v2-hair-soft);cursor:pointer;font-size:13px;align-items:center;transition:background .1s;animation:v2-fadeup .35s ease-out backwards;animation-delay:calc(var(--i, 0) * 22ms)}.v2-trow:last-child{border-bottom:0}.v2-trow:hover{background:var(--v2-bg-2)}.v2-trow[data-open=true]{background:color-mix(in oklab,var(--v2-mint),transparent 94%)}.v2-trow .idx{color:var(--v2-ink-faint);font-size:11.5px;text-align:right}.v2-trow .skill{color:var(--v2-ink);font-weight:450;min-width:0;overflow-wrap:anywhere}.v2-trow .cat{color:var(--v2-cyan);font-size:12px;min-width:0;overflow-wrap:anywhere}.v2-trow .lvl{display:flex;justify-content:flex-end}.v2-trow .yr{color:var(--v2-ink-dim);font-size:12px;text-align:right}.v2-trow .caret{text-align:center;color:var(--v2-ink-faint);transition:transform .2s,color .15s}.v2-trow[data-open=true] .caret{color:var(--v2-mint);transform:rotate(90deg)}.v2-trow-notes{grid-column:1 / 7;display:none;margin-top:10px;padding:12px 14px;border:1px dashed var(--v2-hair);border-radius:4px;background:var(--v2-bg);font-family:var(--v2-sans);font-size:14px;line-height:1.55;color:var(--v2-ink-soft)}.v2-trow[data-open=true] .v2-trow-notes{display:block}.v2-trow-notes .meta{font-family:var(--v2-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--v2-ink-faint);margin-bottom:8px}.v2-tfoot{display:flex;justify-content:space-between;padding:11px 14px;background:var(--v2-bg-2);border-top:1px solid var(--v2-hair);font-size:11px;color:var(--v2-ink-faint);letter-spacing:.04em}@media (max-width: 700px){.v2-table .thead,.v2-trow{grid-template-columns:28px 1fr 70px 18px;gap:10px}.v2-table .thead .col-cat,.v2-trow .cat,.v2-table .thead .col-yr,.v2-trow .yr{display:none}}.v2-repos{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 800px){.v2-repos{grid-template-columns:1fr}}.v2-repo{border:1px solid var(--v2-hair);background:var(--v2-bg-1);border-radius:8px;padding:22px 22px 18px;display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:border-color .2s,transform .25s;transform-origin:center top;animation:v2-fadeup .5s ease-out backwards;animation-delay:calc(var(--i, 0) * 80ms)}.v2-repo:hover{border-color:var(--v2-mint);transform:translateY(-3px) scale(1.008)}.v2-repo:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--v2-mint);opacity:0;transition:opacity .2s}.v2-repo:hover:before{opacity:1}.v2-repo .top{display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--v2-ink-dim)}.v2-repo .top .priv{border:1px solid var(--v2-hair);border-radius:999px;padding:1px 8px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-ink-soft)}.v2-repo .top .priv.public{color:var(--v2-mint);border-color:color-mix(in oklab,var(--v2-mint),transparent 60%)}.v2-repo h3{margin:0;font-family:var(--v2-sans);font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--v2-ink);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;overflow-wrap:anywhere}.v2-repo h3 .owner{color:var(--v2-ink-dim);font-weight:400}.v2-repo h3 .slash{color:var(--v2-ink-faint)}.v2-repo h3 .name{color:var(--v2-mint)}.v2-repo p{margin:0;font-family:var(--v2-sans);font-size:14.5px;line-height:1.55;color:var(--v2-ink-soft);text-wrap:pretty}.v2-repo .topics{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.v2-repo .topics span{font-size:10.5px;padding:2px 8px;border-radius:999px;background:color-mix(in oklab,var(--v2-cyan),transparent 85%);color:var(--v2-cyan);border:1px solid color-mix(in oklab,var(--v2-cyan),transparent 70%);letter-spacing:.04em}.v2-repo .foot{display:flex;gap:16px;align-items:center;margin-top:auto;padding-top:8px;font-size:11.5px;color:var(--v2-ink-dim)}.v2-repo .foot .lang{display:inline-flex;gap:6px;align-items:center}.v2-repo .foot .lang i{width:9px;height:9px;border-radius:50%;background:var(--v2-mint);display:inline-block}.v2-repo .foot .lang.php i{background:#8892bf}.v2-repo .foot .lang.java i{background:#f89820}.v2-repo .foot .lang.cs i{background:#239120}.v2-shell-block{border:1px solid var(--v2-hair);border-radius:6px;background:var(--v2-bg-1);font-size:13.5px;padding:22px 26px;max-width:820px}.v2-shell-block .line{display:flex;gap:10px;flex-wrap:wrap;line-height:1.7}.v2-shell-block .out{color:var(--v2-ink-soft);margin-left:26px;font-family:var(--v2-sans);font-size:15px;overflow-wrap:anywhere}.v2-shell-block .out a{color:var(--v2-mint);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--v2-mint),transparent 60%)}.v2-shell-block .out a:hover{text-decoration-color:var(--v2-mint)}.v2-shell-block .sep{color:var(--v2-ink-faint)}.v2-shell-block .caret{display:inline-block;width:8px;height:15px;background:var(--v2-mint);margin-left:6px;vertical-align:-2px;animation:v2-cursor .9s steps(1) infinite}@keyframes v2-cursor{50%{opacity:0}}.v2-section-title{font-family:var(--v2-sans);font-size:clamp(28px,4vw,44px);font-weight:500;letter-spacing:-.025em;color:var(--v2-ink);margin:0 0 6px}.v2-section-title .ital{font-family:"Instrument Serif",Georgia,serif;font-style:italic;color:var(--v2-mint);font-weight:400}.v2-section-sub{color:var(--v2-ink-dim);font-size:12.5px;margin:0 0 24px;letter-spacing:.02em}@keyframes v2-typeon{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes v2-fadeup{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes v2-fadein{0%{opacity:0}to{opacity:1}}@media (max-width: 900px){.v2-pane{padding:28px 20px 64px}.v2-pane-head{padding:12px 20px}.v2-tabs-row{display:none}.v2-tabs .v2-tab-current{display:inline-flex;align-items:center;gap:8px;padding:0 16px;flex:1;min-width:0;color:var(--v2-ink);background:var(--v2-bg);box-shadow:inset 0 1px 0 0 var(--v2-mint);border-right:1px solid var(--v2-hair);border-left:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;justify-content:flex-start}.v2-tabs .v2-tab-current .ico{color:var(--v2-mint)}.v2-tabs .v2-menu-btn{display:flex}.v2-tabs .spacer,.v2-tabs .right{display:none}.v2-status .seg:nth-child(3),.v2-status .seg:nth-child(4),.v2-status .seg:nth-child(6){display:none}}@media (max-width: 640px){.v2-tabs .traffic{padding:0 14px;gap:6px}.v2-tabs .traffic i{width:10px;height:10px}.v2-status{padding:0 12px;gap:10px;font-size:10.5px;overflow:hidden}.v2-pane{padding:24px 16px 60px}.v2-pane-head{padding:10px 16px;font-size:11px}.v2-hero h1{font-size:clamp(42px,13vw,80px)}.v2-portrait{aspect-ratio:1 / 1}.v2-prompt{font-size:11.5px}.v2-boot{font-size:11px}.v2-readme .body{padding:22px}.v2-readme p{font-size:15.5px}.v2-trow{padding:14px;min-height:56px}.v2-trow .skill{font-size:15px}.v2-table .thead{padding:11px 14px;font-size:10px}.v2-chips .v2-chip{padding:9px 16px;font-size:11.5px;min-height:36px}.v2-grep{padding:10px 12px}.v2-grep input{font-size:14px}.v2-grep .hint{display:none}.v2-jrow{font-size:12.5px}.v2-jrow .data{padding:14px 14px 16px}.v2-jrow .ln{padding:14px 6px;font-size:11px}.v2-jrow .compact{font-size:12px}.v2-repo{padding:20px 18px 16px}.v2-repo h3{font-size:20px}.v2-shell-block{padding:18px;font-size:13px}.v2-shell-block .out{margin-left:0;font-size:14px;flex-basis:100%}.v2-shell-block .line{gap:6px}}@media (max-width: 420px){.v2-tabs .traffic i{width:9px;height:9px}.v2-pane{padding:20px 14px 50px}.v2-pane-head{padding:10px 14px}.v2-pane-head .crumb{flex-wrap:wrap;gap:4px}.v2-hero h1{font-size:clamp(38px,14vw,64px)}.v2-metalist{font-size:11.5px;gap:6px 14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.v2-boot>div{clip-path:none}}
