:root{--bg:#0c0a10;--bg-2:#100e15;--bg-3:#15131a;--ink:#ede8e3;--ink-2:#ede8e3b3;--ink-3:#ede8e373;--ink-4:#ede8e340;--line:#ede8e314;--line-2:#ede8e324;--amber:#f8c878;--amber-soft:#f8c8781f;--amber-line:#f8c87852;--green:#78c878;--rose:#f06292;--blue:#8ec5ff}.dv-wrap{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;scrollbar-width:none;padding-bottom:120px;font-family:Geist,-apple-system,sans-serif;position:absolute;inset:0;overflow-y:auto}.dv-wrap::-webkit-scrollbar{display:none}.dv-wrap a{color:inherit;text-decoration:none}.dv-topbar{z-index:10;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0c0a10d1;justify-content:space-between;align-items:center;padding:14px 36px;font-family:Geist Mono,monospace;font-size:12px;display:flex;position:sticky;top:0}.dv-topbar .brand{letter-spacing:.22em}.dv-topbar .brand .cur{background:var(--amber);vertical-align:-1px;width:7px;height:12px;margin-left:6px;animation:1.1s steps(2,end) infinite dv-bl;display:inline-block}@keyframes dv-bl{50%{opacity:0}}.dv-topbar nav{color:var(--ink-3);gap:22px;display:flex}.dv-topbar nav a:hover{color:var(--amber)}.dv-topbar .open{color:var(--green);letter-spacing:.1em;background:#78c8780f;border:1px solid #78c87852;border-radius:999px;align-items:center;gap:6px;padding:4px 11px;font-size:11px;display:inline-flex}.dv-topbar .open .d{background:var(--green);width:6px;height:6px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:1.8s ease-in-out infinite dv-pulse}@keyframes dv-pulse{0%,to{opacity:1}50%{opacity:.45}}.dv-page{max-width:1180px;margin:0 auto;padding:56px 36px 0}.dv-sec-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin:92px 0 28px;padding-bottom:16px;display:flex}.dv-sec-head .path{color:var(--ink);font-family:Geist Mono,monospace;font-size:13px}.dv-sec-head .path .dim{color:var(--ink-3)}.dv-sec-head .path .amber{color:var(--amber)}.dv-sec-head .meta{letter-spacing:.18em;color:var(--ink-3);font-family:Geist Mono,monospace;font-size:10.5px}.dv-hero{padding-top:60px}.dv-hero .crumb{letter-spacing:.22em;color:var(--ink-3);font-family:Geist Mono,monospace;font-size:11px}.dv-hero h1{letter-spacing:-.025em;margin-top:16px;font-family:Instrument Serif,serif;font-size:clamp(48px,8.5vw,116px);font-weight:400;line-height:.94}.dv-hero h1 em{color:var(--amber);font-style:italic}.dv-hero p.lede{max-width:620px;color:var(--ink-2);text-wrap:pretty;margin-top:36px;font-size:17px;line-height:1.55}.dv-hero .badges{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.dv-badge{letter-spacing:.06em;border:1px solid var(--line-2);color:var(--ink-2);background:#ffffff04;border-radius:4px;padding:5px 11px;font-family:Geist Mono,monospace;font-size:10.5px}.dv-badge b{color:var(--amber);margin-right:6px;font-weight:500}.dv-badge.solid{background:var(--amber-soft);border-color:var(--amber-line);color:var(--amber)}.dv-readme{grid-template-columns:1fr 320px;align-items:start;gap:56px;display:grid}.dv-readme .body p{color:var(--ink-2);text-wrap:pretty;margin-bottom:18px;font-size:16px;line-height:1.68}.dv-readme .body p b{color:var(--ink);font-weight:500}.dv-readme .body p em{color:var(--amber);font-family:Instrument Serif,serif;font-size:1.08em;font-style:italic}.dv-readme .body h3{letter-spacing:.22em;color:var(--ink-3);margin:32px 0 14px;font-family:Geist Mono,monospace;font-size:11px}.dv-readme .body ul{list-style:none}.dv-readme .body li{color:var(--ink-2);border-bottom:1px dashed var(--line);align-items:baseline;gap:14px;padding:8px 0;font-size:15px;display:flex}.dv-readme .body li:before{content:"▸";color:var(--amber);font-family:Geist Mono,monospace;font-size:11px}.dv-readme .body li b{color:var(--ink);min-width:80px;font-weight:500}.dv-readme aside{background:var(--bg-2);border:1px solid var(--line);border-radius:6px;padding:22px;position:sticky;top:96px}.dv-readme aside .ahead{letter-spacing:.22em;color:var(--ink-3);margin-bottom:14px;font-family:Geist Mono,monospace;font-size:10px}.dv-readme aside .stat{border-top:1px solid var(--line);justify-content:space-between;align-items:baseline;padding:10px 0;font-family:Geist Mono,monospace;font-size:12px;display:flex}.dv-readme aside .stat:first-of-type{border-top:none}.dv-readme aside .stat .k{color:var(--ink-3)}.dv-readme aside .stat .v{color:var(--ink)}.dv-readme aside .stat .v.amber{color:var(--amber)}.dv-readme aside .graph{border-top:1px solid var(--line);grid-template-columns:repeat(26,1fr);gap:3px;margin-top:16px;padding-top:16px;display:grid}.dv-readme aside .glabel{color:var(--ink-3);letter-spacing:.12em;justify-content:space-between;margin-top:10px;font-family:Geist Mono,monospace;font-size:9.5px;display:flex}.dv-stack-grp{border-bottom:1px solid var(--line);grid-template-columns:180px 1fr;gap:36px;padding:28px 0;display:grid}.dv-stack-grp:last-child{border-bottom:none}.dv-stack-grp .ghead{letter-spacing:.22em;color:var(--ink-3);padding-top:4px;font-family:Geist Mono,monospace;font-size:11px}.dv-stack-grp .ghead small{color:var(--ink);letter-spacing:0;text-transform:none;margin-top:6px;font-family:Instrument Serif,serif;font-size:18px;font-style:italic;display:block}.dv-stack-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.dv-tile{background:var(--bg-2);border:1px solid var(--line);cursor:default;border-radius:6px;align-items:center;gap:12px;padding:12px 14px;transition:border-color .18s,transform .18s,background .18s;display:flex}.dv-tile:hover{border-color:var(--amber-line);background:#f8c8780a;transform:translateY(-1px)}.dv-tile .glyph{letter-spacing:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-family:Geist Mono,monospace;font-size:12px;font-weight:600;display:flex}.dv-tile .name{color:var(--ink);font-family:Geist Mono,monospace;font-size:12px;line-height:1.2}.dv-tile .name small{color:var(--ink-3);letter-spacing:.04em;margin-top:2px;font-size:10px;display:block}.g-a{color:oklch(92% .1 75);background:oklch(32% .06 70)}.g-b{color:oklch(90% .1 50);background:oklch(30% .05 45)}.g-c{color:oklch(91% .09 100);background:oklch(30% .04 95)}.g-d{color:oklch(88% .1 30);background:oklch(28% .04 25)}.g-e{color:oklch(91% .08 150);background:oklch(30% .05 145)}.g-f{color:oklch(90% .08 235);background:oklch(30% .04 230)}.g-g{color:oklch(91% .08 300);background:oklch(30% .05 295)}.g-h{color:oklch(91% .08 180);background:oklch(30% .04 175)}.dv-repo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dv-repo{background:var(--bg-2);border:1px solid var(--line);cursor:default;border-radius:8px;flex-direction:column;min-width:0;padding:20px 22px 18px;transition:border-color .18s,transform .18s;display:flex;position:relative;overflow:hidden}.dv-repo:hover{border-color:var(--amber-line);transform:translateY(-1px)}.dv-repo.featured{grid-column:span 2;grid-template-columns:1.2fr 1fr;padding:0;display:grid}.dv-repo.featured .ftshot{border-right:1px solid var(--line);background:#0a080d;min-height:240px;position:relative;overflow:hidden}.dv-repo.featured .ftshot svg{width:100%;height:100%;position:absolute;inset:0}.dv-repo.featured .ftshot .ph{letter-spacing:.22em;color:var(--ink-3);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-family:Geist Mono,monospace;font-size:10.5px;display:flex;position:absolute;inset:0}.dv-repo.featured .ftshot .ph .big{color:var(--amber);letter-spacing:0;font-family:Instrument Serif,serif;font-size:48px;font-style:italic;line-height:1}.dv-repo.featured .ftbody{flex-direction:column;padding:24px 26px 22px;display:flex}.dv-repo .pin{z-index:2;letter-spacing:.22em;background:var(--amber);color:#0c0a10;border-radius:3px;padding:4px 10px;font-family:Geist Mono,monospace;font-size:10px;font-weight:600;position:absolute;top:16px;left:18px}.dv-repo .rtop{flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0;margin-bottom:8px;display:flex}.dv-repo .rtop .ico{color:var(--ink-3);flex-shrink:0;font-family:Geist Mono,monospace;font-size:12px}.dv-repo .rtop .nm{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:Geist Mono,monospace;font-size:14px;overflow:hidden}.dv-repo.featured .rtop .nm{font-size:16px}.dv-repo .rtop .nm .owner{color:var(--amber)}.dv-repo .rtop .nm .slash{color:var(--ink-4);margin:0 1px}.dv-repo .rtop .author{letter-spacing:.14em;background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber-line);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px 3px 6px;font-family:Geist Mono,monospace;font-size:9.5px;display:inline-flex}.dv-repo .rtop .author .d{background:var(--amber);width:5px;height:5px;box-shadow:0 0 4px var(--amber);border-radius:50%}.dv-repo .tagline{color:var(--ink);text-wrap:pretty;overflow-wrap:break-word;margin:6px 0 12px;font-family:Instrument Serif,serif;font-size:clamp(16px,3vw,20px);font-style:italic;line-height:1.25}.dv-repo.featured .tagline{font-size:clamp(20px,3.5vw,28px)}.dv-repo .desc{color:var(--ink-2);text-wrap:pretty;overflow-wrap:break-word;margin-bottom:14px;font-size:13.5px;line-height:1.55}.dv-repo .desc code{color:var(--amber);background:var(--amber-soft);border-radius:3px;padding:1px 5px;font-family:Geist Mono,monospace;font-size:11.5px}.dv-repo .meta-row{border-top:1px dashed var(--line-2);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:16px;margin-top:auto;padding-top:12px;font-family:Geist Mono,monospace;font-size:11px;display:flex}.dv-repo .meta-row .lang{align-items:center;gap:6px;display:inline-flex}.dv-repo .meta-row .lang .ld{border:1px solid #ffffff1a;border-radius:50%;width:9px;height:9px}.dv-repo .meta-row .star{align-items:center;gap:5px;display:inline-flex}.dv-repo .meta-row .star:before{content:"★";color:var(--amber)}.dv-repo .meta-row .when{color:var(--ink-4)}.dv-repo .meta-row .spacer{flex:1}.dv-repo .links{gap:12px;margin-top:12px;display:flex}.dv-repo .lk{letter-spacing:.06em;border:1px solid var(--line-2);color:var(--ink-2);border-radius:5px;flex:1;justify-content:space-between;align-items:center;padding:8px 12px;font-family:Geist Mono,monospace;font-size:11px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.dv-repo .lk:hover{border-color:var(--amber-line);color:var(--amber);background:#f8c8780a}.dv-repo .lk.primary{border-color:var(--amber-line);color:var(--amber);background:#f8c87812}.dv-repo .lk.primary:hover{background:#f8c87821}.dv-repo .lk .arr{margin-left:8px}.dv-log{margin-top:8px;padding-left:14px;position:relative}.dv-log:before{content:"";background:linear-gradient(to bottom, transparent, var(--line-2) 30px, var(--line-2) calc(100% - 30px), transparent);width:1px;position:absolute;top:14px;bottom:14px;left:6px}.dv-commit{border-bottom:1px solid var(--line);padding:18px 0 18px 36px;transition:background .15s;position:relative}.dv-commit:last-child{border-bottom:none}.dv-commit:hover{background:#ffffff03}.dv-commit:before{content:"";background:var(--bg);border:2px solid var(--amber);border-radius:50%;width:14px;height:14px;position:absolute;top:26px;left:-1px;box-shadow:0 0 0 4px #f8c87814}.dv-commit.muted:before{border-color:var(--ink-4);box-shadow:none}.dv-commit .top{flex-wrap:wrap;align-items:baseline;gap:14px;font-family:Geist Mono,monospace;font-size:11.5px;display:flex}.dv-commit .hash{color:var(--amber)}.dv-commit .when{color:var(--ink-3)}.dv-commit .files{color:var(--ink-4);letter-spacing:.06em;margin-left:auto;font-size:10.5px}.dv-commit .msg{color:var(--ink);margin-top:8px;font-family:Instrument Serif,serif;font-size:24px;font-style:italic;line-height:1.2}.dv-commit .msg b{background:var(--amber-soft);color:var(--amber);vertical-align:middle;letter-spacing:.06em;border-radius:3px;margin-right:8px;padding:2px 8px;font-family:Geist Mono,monospace;font-size:.6em;font-style:normal}.dv-commit .body{color:var(--ink-2);text-wrap:pretty;max-width:720px;margin-top:10px;font-size:14px;line-height:1.6}.dv-commit .body code{color:var(--amber);background:var(--amber-soft);border-radius:3px;padding:1px 6px;font-family:Geist Mono,monospace;font-size:12px}.dv-commit .tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.dv-commit .ctag{border:1px solid var(--line-2);color:var(--ink-2);background:#ffffff08;border-radius:3px;padding:3px 8px;font-family:Geist Mono,monospace;font-size:10px}.dv-contact{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;grid-template-columns:1fr 1fr;align-items:start;gap:56px;margin-top:12px;padding:32px 36px;display:grid}.dv-contact .left{font-family:Geist Mono,monospace;font-size:13px;line-height:1.8}.dv-contact .left .c{color:var(--ink-3)}.dv-contact .left .p{color:var(--amber)}.dv-contact .left .cmd{color:var(--ink)}.dv-contact .left .out{color:var(--ink-2)}.dv-contact .left .cur{background:var(--amber);vertical-align:-2px;width:8px;height:14px;margin-left:4px;animation:1.1s steps(2,end) infinite dv-bl;display:inline-block}.dv-contact .left .dv-ctc{margin-top:8px}.dv-contact .right{flex-direction:column;display:flex}.dv-ctc{background:var(--bg);border:1px solid var(--line-2);border-radius:6px;justify-content:space-between;align-items:center;padding:14px 18px;transition:border-color .18s,background .18s;display:flex}.dv-ctc:hover{border-color:var(--amber-line);background:#f8c87808}.dv-ctc .lbl{letter-spacing:.18em;color:var(--ink-3);font-family:Geist Mono,monospace;font-size:10px}.dv-ctc .val{color:var(--ink);margin-top:2px;font-family:Geist Mono,monospace;font-size:13px}.dv-ctc .arrow{color:var(--amber);font-family:Geist Mono,monospace;font-size:16px}.dv-htop-shell{-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);z-index:5;background:#0c0a10f0;transition:transform .35s cubic-bezier(.2,.7,.2,1);position:fixed;bottom:0;left:0;right:0}.dv-htop-shell.collapsed{transform:translateY(calc(100% - 28px))}.dv-htop-tab{background:var(--bg);border:1px solid var(--line);letter-spacing:.14em;color:var(--ink-3);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:none;border-color:var(--line);background:0 0;border-radius:6px 6px 0 0;align-items:center;gap:10px;padding:6px 14px 7px;font-family:Geist Mono,monospace;font-size:10.5px;transition:color .15s,background .15s;display:flex;position:absolute;top:-1px;left:36px;transform:translateY(-100%)}.dv-htop-tab:hover{color:var(--amber);background:var(--bg-2)}.dv-htop-tab .d{background:var(--amber);width:6px;height:6px;box-shadow:0 0 6px var(--amber);border-radius:50%;animation:1.8s ease-in-out infinite dv-pulse}.dv-htop-tab .chev{color:var(--ink-3);margin-left:4px;transition:transform .3s}.dv-htop-shell.collapsed .dv-htop-tab .chev{transform:rotate(180deg)}.dv-htop{grid-template-columns:repeat(2,1fr);gap:28px;max-height:45vh;padding:14px 36px 16px;font-family:Geist Mono,monospace;font-size:11px;display:grid;overflow-y:auto}.dv-htop .col h4{letter-spacing:.22em;color:var(--ink-3);margin-bottom:6px;font-size:9.5px;font-weight:400}.dv-htop .hrow{grid-template-columns:30px 1fr 80px 50px;align-items:center;gap:10px;padding:3px 0;display:grid}.dv-htop .pid{color:var(--ink-4);font-size:10px}.dv-htop .nm{color:var(--ink)}.dv-htop .nm small{color:var(--ink-3)}.dv-htop .bar{background:#ffffff0d;border-radius:2px;height:5px;position:relative;overflow:hidden}.dv-htop .bar i{background:var(--amber);height:100%;display:block}.dv-htop .bar.green i{background:var(--green)}.dv-htop .bar.rose i{background:var(--rose)}.dv-htop .pct{color:var(--amber);text-align:right;font-size:10.5px}.dv-htop .pct.green{color:var(--green)}.dv-htop .pct.rose{color:var(--rose)}.dv-htop-strip{height:28px;color:var(--ink-3);border-bottom:1px solid var(--line);align-items:center;gap:18px;padding:0 36px;font-family:Geist Mono,monospace;font-size:10.5px;display:flex}.dv-htop-strip .s{align-items:center;gap:6px;display:inline-flex}.dv-htop-strip .s .lbl{color:var(--ink-4)}.dv-htop-strip .s .v{color:var(--ink-2)}.dv-htop-strip .s .v.amber{color:var(--amber)}.dv-htop-strip .s .v.green{color:var(--green)}.dv-htop-strip .spacer{flex:1}.dv-htop-strip .hint{color:var(--ink-4);letter-spacing:.14em}@media (width<=880px){.dv-readme{grid-template-columns:1fr}.dv-readme aside{position:static}.dv-stack-grp{grid-template-columns:1fr;gap:16px}.dv-contact{grid-template-columns:1fr;gap:32px;padding:24px}.dv-htop{grid-template-columns:1fr;gap:14px}.dv-topbar nav{display:none}.dv-hero h1{font-size:clamp(36px,12vw,56px)}.dv-page{padding:32px 20px 0}.dv-topbar{padding:14px 20px}.dv-htop-strip{flex-wrap:wrap;gap:10px;height:auto;min-height:28px;padding:0 20px;font-size:10px}.dv-htop{padding:14px 20px 16px}}@media (width<=640px){.dv-repo-grid{grid-template-columns:1fr}.dv-repo.featured{flex-direction:column;grid-column:span 1;display:flex}.dv-repo.featured .ftshot{border-right:none;border-bottom:1px solid var(--line);min-height:clamp(140px,35vw,200px)}.dv-repo.featured .ftbody{padding:18px 20px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html{background:#0c0a10}body{color:#ede8e3;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Geist,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}canvas{display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.serif{font-family:Instrument Serif,Georgia,serif;font-weight:400}.mono{font-family:Geist Mono,ui-monospace,Menlo,monospace}.ital{font-style:italic}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{scrollbar-width:none}
