:root{--bg:#fafaf8;--text:#111;--sub:#555;--sub-dim:#00000073;--yr:#aaa;--link:#111;--link-hover:#8128d0;--handle:#8128d0;--contact:#666;--desc:#aaa;--hr:#e5e5e5;--footer:#aaa;--indicator-color:#8128d0;--primary:#8128d0}*{box-sizing:border-box;margin:0;padding:0}::selection{color:#fff;background:#8128d0}body{background:var(--bg);color:var(--text);font-family:Geist Mono,Courier New,monospace}.wrap{max-width:40rem;margin-left:max(0rem,27.5% - 11rem);padding:2rem 1.5rem;position:relative}.profile-img{color:#fff;user-select:none;background:#8128d0;border-radius:.625rem;place-items:center;width:4.5rem;height:4.5rem;margin-bottom:1rem;font-size:1.25rem;font-weight:500;display:grid}h1{color:var(--text);margin-bottom:.4rem;font-size:1.25rem;font-weight:500;transition:color .25s}h1 a{color:var(--handle);align-items:center;gap:.4rem;text-decoration:none;display:inline-flex}h1 a:hover{text-decoration:underline}h1 img{width:1rem;height:1rem}.name-row{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;display:flex}.name-row h1{margin-bottom:0}.langs{flex-shrink:0;gap:.75rem;display:flex}.langs a{color:var(--contact);text-underline-offset:.1875rem;font-size:.75rem;text-decoration:none;transition:color .25s}.langs a:hover{color:var(--link-hover)}.langs a[aria-current]{color:var(--primary);text-decoration:underline}.sub{color:var(--sub);margin-top:.75rem;margin-bottom:.75rem;font-size:.8125rem;line-height:1.6;transition:color .25s}.sub-prefix{color:var(--text)}.sub-text{color:var(--sub-dim)}h2{color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin:1.25rem 0 .6rem;font-size:.8125rem;font-weight:500;transition:color .25s}h2 .count{color:var(--yr);margin-left:.25rem;font-weight:400}.list{flex-direction:column;gap:.6rem;display:flex;position:relative}.indicator{background:var(--indicator-color);opacity:0;pointer-events:none;border-radius:.0625rem;width:.125rem;height:1.25rem;transition:top .5s,opacity .3s,background .25s;position:absolute;left:-.875rem}.row{align-items:flex-start;gap:1.5rem;display:flex}.row[hidden]{display:none}.row-filler{visibility:hidden}.pages{margin-left:-.1875rem;display:flex}.pages[hidden],.pages button[hidden]{display:none}.pages button{cursor:pointer;background:0 0;border:0;place-items:center;width:.75rem;height:1rem;padding:0;display:grid}.pages button:before{content:"";background:var(--yr);border-radius:50%;width:.375rem;height:.375rem;transition:background .25s}.pages button:hover:before{background:var(--link-hover)}.pages button[aria-current]:before{background:var(--primary)}.yr{color:var(--yr);flex-shrink:0;min-width:2.5rem;padding-top:.125rem;font-size:.75rem;transition:color .25s;position:relative}.current-mark{width:.875rem;height:.875rem;color:var(--primary);pointer-events:none;margin-right:.125rem;position:absolute;top:50%;right:100%;transform:translateY(-40%)}.row:hover .current-mark,.row.active .current-mark{visibility:hidden}.row-content{flex-direction:column;min-width:0;display:flex}.row-content .row-title{font:inherit;color:var(--link);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;transition:color .25s}.row-content .row-title:hover{color:var(--link-hover)}.row-content .tag-intern{color:var(--primary);margin-left:.5rem}.read-more{font:inherit;white-space:nowrap;color:var(--primary);text-underline-offset:.1875rem;cursor:pointer;visibility:hidden;background:0 0;border:0;flex-shrink:0;margin-left:auto;padding:.125rem 0 0;font-size:.75rem;text-decoration:underline}.row:hover .read-more,.row.active .read-more,.row:focus-within .read-more{visibility:visible}.row-desc{color:var(--desc);opacity:0;max-height:0;margin-top:0;font-size:.75rem;line-height:1.5;transition:max-height .35s,opacity .3s,margin-top .35s,color .25s;overflow:hidden}.row:hover .row-desc,.row.active .row-desc,.row:focus-within .row-desc{opacity:1;max-height:10rem;margin-top:.3rem}.row-tech{color:var(--sub);flex-wrap:wrap;gap:.2rem .75rem;margin-top:.4rem;display:flex}.row-tech span,.row-tech button{align-items:center;gap:.3rem;display:inline-flex}.row-tech img{flex-shrink:0;width:.75rem;height:.75rem}.row-tech button:hover{color:var(--link-hover)}.row-tags{color:var(--primary);flex-wrap:wrap;gap:.2rem .75rem;margin-top:.4rem;display:flex}.row-tags button:hover{color:var(--text)}.row-tech button,.row-tags button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;transition:color .25s}.row-tech button[hidden],.row-tags button[hidden]{display:none}.row-desc .row-tech,.row-desc .row-tags{flex-wrap:nowrap;overflow:hidden}.row-desc button{white-space:nowrap;flex-shrink:0}.search-wrap{margin-bottom:.25rem;display:block;position:relative}.search-wrap .search-icon{color:var(--yr);pointer-events:none;position:absolute;top:50%;left:0;transform:translateY(-50%)}.search{width:100%;font:inherit;color:var(--text);border:0;border-bottom:1px solid var(--hr);background:0 0;border-radius:0;outline:none;padding:.4rem 0 .4rem 1.25rem;font-size:.8125rem;transition:border-color .25s;display:block}.search::placeholder{color:var(--yr)}.search:focus-visible{border-bottom-color:var(--primary)}.search::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;cursor:pointer;background:var(--primary);width:.75rem;height:.75rem;-webkit-mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.5'/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M2 2l8 8M10 2l-8 8' stroke='black' stroke-width='1.5'/></svg>") 50%/contain no-repeat}.no-results{color:var(--yr);margin-top:1.25rem;font-size:.8125rem}hr{border:none;border-top:1px solid var(--hr);margin:2rem 0 1rem;transition:border-color .25s}.contact{flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:1.5rem;display:flex}.contact a,.contact button{font:inherit;color:var(--primary);text-underline-offset:.1875rem;cursor:pointer;background:0 0;border:0;padding:0;font-size:.8125rem;text-decoration:underline;transition:color .25s}.contact a:hover,.contact button:hover{color:var(--text)}.drawer{z-index:10;border:0;border-left:1px solid var(--hr);background:var(--bg);width:min(47.1875rem,100%);max-width:100%;height:100dvh;max-height:100dvh;color:var(--text);transition:transform .35s ease, display .35s allow-discrete, overlay .35s allow-discrete;margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%)}.drawer[open]{transform:none}@starting-style{.drawer[open]{transform:translate(100%)}}.drawer::backdrop{background:0 0}.drawer-bar{z-index:1;background:var(--bg);border-bottom:1px solid var(--hr);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.drawer-head{align-items:flex-start;gap:.75rem;min-width:0;display:flex}.drawer-head .drawer-lede{margin-top:.15rem}.drawer-body>:first-child{margin-top:0}.drawer-close{font:inherit;color:var(--contact);cursor:pointer;background:0 0;border:0;padding:.25rem;font-size:1.25rem;line-height:1;transition:color .25s}.drawer-close:hover{color:var(--link-hover)}.drawer-body{padding:2.5rem 1.5rem 4rem}.drawer-title{color:var(--text);letter-spacing:normal;text-transform:none;margin:0;font-size:1.25rem;font-weight:500}.drawer-lede{color:var(--sub-dim);font-size:.8125rem;line-height:1.6}.drawer-lede a{color:var(--contact);text-decoration:none;transition:color .25s}.drawer-lede a:hover{color:var(--link-hover)}.copy-line{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.copy-btn{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;transition:color .25s}.copy-btn:hover{color:var(--text)}.drawer-pdf{border:1px solid var(--hr);aspect-ratio:1/1.414;margin:1.5rem 0 1rem}.drawer-pdf:has(canvas){aspect-ratio:auto}.drawer-pdf canvas{width:100%;height:auto;display:block}.drawer-props{border-bottom:1px solid var(--hr);grid-template-columns:6rem 1fr;gap:.85rem 1rem;margin:2rem 0;padding:0 0 1.25rem;font-size:.75rem;display:grid}.drawer-props dt{color:var(--yr);padding-top:.0625rem}.drawer-props dd{color:var(--text)}.drawer-props .row-tech,.drawer-props .row-tags{margin-top:0}.drawer-props .row-tags{color:var(--primary)}.drawer-props a{color:var(--contact);text-decoration:none;transition:color .25s}.drawer-props a:hover{color:var(--link-hover)}.drawer-section+.drawer-section{margin-top:1.75rem}.drawer-section h3{color:var(--text);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5rem;font-size:.8125rem;font-weight:500}.drawer-section p{color:var(--sub);max-width:35rem;font-size:.8125rem;line-height:1.6}.footer{color:var(--footer);font-size:.75rem;transition:color .25s}a:focus-visible,button:focus-visible{outline:1px solid var(--text);outline-offset:.1875rem}
