@font-face{font-family:Departure Mono;src:url(../../../fonts/departure-mono/DepartureMono-Regular.woff2)format("woff2"),url(../../../fonts/departure-mono/DepartureMono-Regular.woff)format("woff"),url(../../../fonts/departure-mono/DepartureMono-Regular.otf)format("opentype");font-weight:400;font-display:swap;font-style:normal}:root{--bg:#282828;--text:#ebdbb2;--primary:#b8bb26;--muted:#a89984;--muted-strong:#d5c4a1;--gap:1.25rem}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);justify-content:center;align-items:center;min-height:100vh;font-family:Departure Mono,monospace;display:flex;position:relative}.stars{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.star{background:var(--primary);opacity:.4;border-radius:50%;width:4px;height:4px;animation:20s linear infinite drift;position:absolute}@keyframes drift{0%{opacity:.3;transform:translate(0)}25%{opacity:.5;transform:translate(30px,-30px)}50%{opacity:.2;transform:translate(-20px,-50px)}75%{opacity:.4;transform:translate(-40px,-20px)}to{opacity:.3;transform:translate(0)}}.container{z-index:1;text-align:center;width:100%;max-width:600px;padding:2rem 1.25rem;position:relative}.identity{text-align:center;margin-bottom:2rem}picture{display:contents}.pfp{border:2px solid var(--primary);width:120px;height:120px;box-shadow:0 0 12px color-mix(in srgb, var(--primary) 22%, transparent);border-radius:50%;margin:0 auto 1.5rem;transition:box-shadow .3s,border-color .3s;animation:3s ease-in-out infinite float;display:block}.pfp:hover{border-color:var(--primary);box-shadow:0 0 18px color-mix(in srgb, var(--primary) 35%, transparent), 0 0 36px color-mix(in srgb, var(--primary) 12%, transparent)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}h1{letter-spacing:.5px;margin-bottom:.75rem;font-size:1.75rem;font-weight:600}.about{color:var(--muted-strong);margin-bottom:1.5rem;font-size:.85rem;font-style:italic}.section-label{color:var(--muted);text-transform:lowercase;justify-content:center;align-items:center;gap:.25rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.nostr-icon{opacity:.7;width:20px;height:20px}.npub-wrap{gap:.5rem;margin-bottom:1.5rem;display:flex;position:relative}.npub{text-align:center;min-width:0;color:var(--text);border:1px solid var(--primary);background:color-mix(in srgb, var(--primary) 10%, transparent);border-radius:10px;flex:auto;justify-content:center;align-items:center;padding:.9rem 1rem;font-family:monospace;font-size:.75rem;text-decoration:none;transition:background .2s;display:flex}.npub:hover{background:color-mix(in srgb, var(--primary) 20%, transparent)}.npub-copy{border:1px solid var(--primary);background:color-mix(in srgb, var(--bg) 60%, transparent);width:2.75rem;color:var(--primary);cursor:pointer;border-radius:6px;flex:none;place-items:center;transition:background .2s,color .2s;display:grid}.npub-copy:hover{background:var(--primary);color:var(--bg)}.npub-copied{z-index:10;color:var(--bg);background:var(--primary);opacity:0;pointer-events:none;border-radius:999px;padding:.2rem .75rem;font-family:Departure Mono,monospace;font-size:.7rem;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.npub-copied.show{opacity:1}.links{gap:.75rem;display:grid}.link{background:color-mix(in srgb, var(--primary) 8%, transparent);color:var(--primary);border:1px solid color-mix(in srgb, var(--primary) 40%, transparent);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 1px #ffffff0f, 0 0 8px color-mix(in srgb, var(--primary) 18%, transparent), 0 2px 8px #00000040;border-radius:8px;padding:.875rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s;display:block}.link:hover{background:color-mix(in srgb, var(--primary) 12%, transparent);border-color:var(--primary);box-shadow:inset 0 1px 1px #ffffff14, 0 0 14px color-mix(in srgb, var(--primary) 30%, transparent), 0 4px 14px #0000004d;transform:translateY(-2px)}.link-name{display:block}.link-desc{color:var(--muted-strong);margin-top:.25rem;font-size:.75rem;font-weight:400;display:block}.link:hover .link-desc{color:var(--text)}.link-tags{flex-wrap:wrap;justify-content:center;gap:.35rem;margin-top:.6rem;display:flex}.tag{letter-spacing:.03em;color:color-mix(in srgb, var(--primary) 80%, #fff);background:color-mix(in srgb, var(--primary) 12%, transparent);border:1px solid color-mix(in srgb, var(--primary) 30%, transparent);border-radius:999px;padding:.1rem .5rem;font-size:.65rem;font-weight:400}.links-row{gap:.75rem;width:100%;display:flex}.links-row .link{text-align:center;flex:1;padding:.6rem 1rem;font-size:.8rem}.tips{margin-top:2rem}.tip-wrap{gap:.5rem;margin-bottom:.75rem;display:flex;position:relative}.tip{background:color-mix(in srgb, var(--tip-color,var(--primary)) 8%, transparent);min-width:0;color:var(--tip-color,var(--primary));border:1px solid color-mix(in srgb, var(--tip-color,var(--primary)) 40%, transparent);text-align:left;cursor:pointer;-webkit-backdrop-filter:blur(12px);border-radius:8px;flex-direction:column;flex:auto;align-items:flex-start;gap:.15rem;padding:.875rem 1.5rem;font-family:Departure Mono,monospace;font-size:.9rem;font-weight:600;transition:background .25s,border-color .25s,transform .25s;display:flex}.tip:hover{background:color-mix(in srgb, var(--tip-color,var(--primary)) 12%, transparent);border-color:var(--tip-color,var(--primary));transform:translateY(-2px)}.tip-name{align-items:center;display:flex}.tip-address{letter-spacing:.02em;color:var(--muted-strong);font-size:.7rem;font-weight:400;transition:color .25s}.tip:hover .tip-address{color:var(--text)}.tip-copy{border:1px solid color-mix(in srgb, var(--tip-color,var(--primary)) 40%, transparent);background:color-mix(in srgb, var(--bg) 60%, transparent);width:2.75rem;color:var(--tip-color,var(--primary));cursor:pointer;border-radius:8px;flex:none;place-items:center;transition:background .2s,border-color .2s,color .2s;display:grid}.tip-copy:hover{background:var(--tip-color,var(--primary));border-color:var(--tip-color,var(--primary));color:var(--bg)}.tip-icon{margin-right:.4rem;position:relative;top:1px}.tip-copied{z-index:10;color:var(--bg);background:var(--tip-color,var(--primary));opacity:0;pointer-events:none;border-radius:999px;padding:.2rem .75rem;font-family:Departure Mono,monospace;font-size:.7rem;font-weight:600;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tip-copied.show{opacity:1}.qr-dialog{width:min(92vw,360px);max-height:92vh;color:var(--text);background:0 0;border:none;margin:auto;padding:0;overflow:visible}.qr-dialog::backdrop{-webkit-backdrop-filter:blur(4px);background:#000000a6}.qr-card{background:var(--bg);border:1px solid color-mix(in srgb, var(--tip-color,var(--primary)) 45%, transparent);text-align:center;box-shadow:0 0 24px color-mix(in srgb, var(--tip-color,var(--primary)) 22%, transparent), 0 20px 50px #0000008c;border-radius:14px;padding:1.5rem;position:relative}.qr-close{width:1.9rem;height:1.9rem;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;font-size:1.35rem;line-height:1;transition:background .2s,color .2s;display:grid;position:absolute;top:.4rem;right:.5rem}.qr-close:hover{background:color-mix(in srgb, var(--text) 12%, transparent);color:var(--text)}.qr-title{color:var(--tip-color,var(--primary));justify-content:center;align-items:center;gap:.4rem;margin:0 0 1rem;font-family:Departure Mono,monospace;font-size:.9rem;font-weight:600;display:flex}.qr-code{background:#fff;border-radius:10px;width:min(260px,68vw,42vh);margin:0 auto 1rem;padding:.75rem}.qr-code svg{width:100%;height:auto;display:block}.qr-loading{aspect-ratio:1;background:linear-gradient(100deg,#e8e8e8 30%,#f6f6f6 50%,#e8e8e8 70%) 0 0/200% 100%;border-radius:6px;animation:1.2s linear infinite qr-shimmer}@keyframes qr-shimmer{to{background-position:-200% 0}}.qr-address{word-break:break-all;color:var(--muted-strong);margin:0 0 1rem;font-family:monospace;font-size:.7rem;line-height:1.5}.qr-actions{gap:.5rem;display:flex}.qr-btn{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.6rem .75rem;font-family:Departure Mono,monospace;font-size:.75rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.qr-btn--copy{border:1px solid color-mix(in srgb, var(--tip-color,var(--primary)) 45%, transparent);background:color-mix(in srgb, var(--tip-color,var(--primary)) 10%, transparent);color:var(--tip-color,var(--primary))}.qr-btn--copy:hover{background:color-mix(in srgb, var(--tip-color,var(--primary)) 22%, transparent)}.qr-btn--link{border:1px solid var(--tip-color,var(--primary));background:var(--tip-color,var(--primary));color:var(--bg)}.qr-btn--link:hover{filter:brightness(1.1)}@media (prefers-reduced-motion:no-preference){.qr-dialog[open] .qr-card{animation:.18s ease-out qr-in}}@keyframes qr-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.container.error{text-align:center;max-width:480px;display:block}.container.error .link{margin-top:1.5rem;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--primary);color:var(--bg)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--primary) 45%, transparent);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width>=880px){.container{text-align:left;grid-template-columns:320px 1fr;grid-template-areas:"identity projects""tips tips";align-items:start;gap:1.75rem 3rem;max-width:960px;display:grid}.identity{text-align:center;grid-area:identity;margin-bottom:0;position:sticky;top:2rem}.projects{grid-area:projects}.links{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.link-tags{justify-content:flex-start}.tips{grid-area:tips;grid-template-columns:repeat(3,1fr);align-items:end;gap:.75rem;margin-top:0;display:grid}.tips .section-label{grid-column:1/-1;justify-content:flex-start;margin-bottom:0}.tip-wrap{margin-bottom:0}}@media (prefers-reduced-motion:reduce){.star,.pfp{animation:none}}
