@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/pixelify-sans-latin.woff2)format("woff2")}:root{--g0:#0b0906;--g1:#141b12;--g2:#153020;--g3:#215239;--g4:#37804f;--g5:#7d6529;--g6:#bd5c1c;--g7:#e8781e;--g8:#f7a238;--g9:#ffe0a0;--orange:#ec7a1c;--ember:#e8912b;--amber:#f7b64e;--lava:#d1481f;--lava-deep:#8f2f14;--jungle:#2f6b3a;--leaf:#5a9e46;--lime:#9ec95a;--earth:#6b4a2a;--water:#2f8f7a;--flower:#e07a8a;--code-red:#e0533f;--terracotta:#ec7a1c;--peach:#f7b64e;--clay-rose:#d1481f;--dusty-rose:#e07a8a;--sage:#5a9e46;--soft-teal:#2f8f7a;--glazed-cream:#cfe8b0;--plum:#a86a8a;--bg:#090705;--bg-deep:#060403;--panel:#120d07;--ink:#f3e8d2;--muted:#c6b491;--dim:#8a7658;--line:#2e2416;--line-soft:#3a2c1a;--accent:#ec7a1c;--accent-hi:#f7b64e;--accent-deep:#a34a1f;--green:#4c9153;--green-hi:#8fc457;--green-pastel:#bfe0a4;--teal:#2a8a78;--olive:#7a8a3c;--font-pixel:"Pixelify Sans", system-ui, sans-serif;--font-term:"Pixelify Sans", system-ui, sans-serif;--font-body:ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-weight-display:600;--font-weight-body:500;--font-size-lead:clamp(36px, 5.4vw, 54px);--font-size-body:clamp(22px, 2.9vw, 28px);--font-size-readme:22px;--font-size-stamp-name:22px;--font-size-stamp-tag:15px;--r:0px;--gap:12px;--pad-panel:96px 148px 80px 148px;--glass-fill:linear-gradient(180deg, #14281c8c, #080604b8);--glass-blur:8px;--glass-sat:1.3;--glass-border:#c8d69633;--glass-inset:inset 0 1px 0 #f0e0b424;--glass-drop:0 30px 90px #0000008c;--mx:.5;--my:.4;--lx:50%;--ly:40%;--sheen:0;--letterpress:0 2px 0 #000c, 0 -1px 0 #f0e0b438, 0 0 8px #00000075;--letterpress-strong:0 2px 0 #000000d9, 0 -1px 0 #f0e0b447, 0 0 10px #00000080}@media (prefers-reduced-transparency:reduce){:root{--glass-blur:0px;--glass-fill:linear-gradient(180deg, #1a2416ed, #0c0905f2)}}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;overflow:clip}body{background:var(--bg-deep);color:var(--ink);font-family:var(--font-term);-webkit-font-smoothing:antialiased;font-variant-ligatures:none;-webkit-font-feature-settings:"liga" 0, "clig" 0, "dlig" 0;font-feature-settings:"liga" 0, "clig" 0, "dlig" 0;margin:0}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-deep)}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent-hi);outline-offset:2px}.glass{background:var(--glass-fill);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(var(--glass-sat));border:1px solid var(--glass-border);box-shadow:var(--glass-inset), var(--glass-drop);position:relative;overflow:hidden}.glass:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 120px 9px at var(--lx) var(--ly), #e6f7d733 0 16%, #cbe8bd17 16% 40%, transparent 66%), radial-gradient(ellipse 9px 120px at var(--lx) var(--ly), #e6f7d733 0 16%, #cbe8bd17 16% 40%, transparent 66%);opacity:calc(.05 + var(--sheen) * .18);image-rendering:pixelated;mix-blend-mode:screen;position:absolute;inset:0}.glass:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(ellipse 54px 8px at var(--lx) var(--ly), #f0f8e880 0 20%, transparent 58%), radial-gradient(ellipse 8px 54px at var(--lx) var(--ly), #f0f8e880 0 20%, transparent 58%), radial-gradient(14px 14px at var(--lx) var(--ly), #f0f8e899 0 34%, transparent 64%);opacity:calc(var(--sheen) * .3);image-rendering:pixelated;mix-blend-mode:screen;position:absolute;inset:0}.glass>*{z-index:1;position:relative}.leaf-cursor{z-index:80;pointer-events:none;image-rendering:pixelated;position:fixed;inset:0}.glass-card{border-radius:var(--r);background-image:repeating-linear-gradient(0deg, #fff4dc0b 0 1px, transparent 1px 6px), repeating-linear-gradient(90deg, #fff4dc0b 0 1px, transparent 1px 6px), var(--glass-fill)}.glass:before,.glass:after{-webkit-mask-composite:source-in;-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 10px,#0000 10px 12px),repeating-linear-gradient(0deg,#000 0 10px,#0000 10px 12px);mask-image:repeating-linear-gradient(90deg,#000 0 10px,#0000 10px 12px),repeating-linear-gradient(0deg,#000 0 10px,#0000 10px 12px);mask-composite:intersect}.board{z-index:1;display:block;position:fixed;inset:0}.board-vignette{z-index:2;pointer-events:none;background:radial-gradient(120% 100% at 50% 46%,#0000 0 40%,#0806035c 66%,#080603b8 100%);position:fixed;inset:0}.board-vignette:before{content:"";pointer-events:none;mix-blend-mode:screen;background:radial-gradient(85% 65% at 50% 45%,#f0a5501f,#f0a5500b 42%,#0000 66%);position:fixed;inset:0}.topbar{z-index:30;background:linear-gradient(#0a0704eb,#0a070400);justify-content:space-between;align-items:center;padding:18px 26px;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:11px;display:flex}.brand-mark{width:24px;height:24px;display:block;position:relative}.brand-mark i{height:3.5px;position:absolute;left:0}.brand-mark i:first-child{background:var(--terracotta);width:24px;top:0}.brand-mark i:nth-child(2){background:var(--peach);width:24px;top:5px}.brand-mark i:nth-child(3){background:var(--dusty-rose);width:11px;top:10px}.brand-mark i:nth-child(4){background:var(--sage);width:24px;top:15px}.brand-mark i:nth-child(5){background:var(--soft-teal);width:24px;top:20px}.brand-word{font-family:var(--font-pixel);letter-spacing:.5px;color:var(--ink);font-size:17px;font-weight:700}.brand-word em{color:var(--green);font-style:normal}.pagenav{z-index:30;flex-direction:column;align-items:stretch;gap:10px;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.pagenav-btn{cursor:pointer;border:1px solid var(--glass-border);border-radius:var(--r);backdrop-filter:blur(5px);width:46px;height:46px;box-shadow:var(--glass-inset), 0 4px 14px #0006;background:#100b06b8;align-self:center;place-items:center;padding:0;transition:background .16s,border-color .16s,transform .12s,opacity .18s;display:grid}.pagenav-arrow{background:var(--ink);filter:drop-shadow(0 1px #0000008c);clip-path:polygon(50% 0,62.5% 0,62.5% 25%,75% 25%,75% 50%,87.5% 50%,87.5% 75%,100% 75%,100% 100%,75% 100%,75% 75%,62.5% 75%,62.5% 50%,50% 50%,37.5% 50%,37.5% 75%,25% 75%,25% 100%,0 100%,0 75%,12.5% 75%,12.5% 50%,25% 50%,25% 25%,37.5% 25%,37.5% 0);width:22px;height:14px;transition:background .16s;display:block}.pagenav-down .pagenav-arrow{transform:rotate(180deg)}.pagenav-btn:hover{background:var(--accent);border-color:var(--accent);transform:translate(-3px)}.pagenav-btn:hover .pagenav-arrow{background:var(--bg)}.pagenav-btn:active{transform:translate(-3px)scale(.94)}.pagenav-btn:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px}.pagenav-btn.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.pagenav-list{flex-direction:column;align-items:stretch;gap:6px;display:flex}.pagenav-section{font-family:var(--font-term);letter-spacing:.5px;cursor:pointer;text-align:left;white-space:nowrap;border:1px solid var(--glass-border);border-radius:var(--r);color:var(--ink);backdrop-filter:blur(5px);box-shadow:var(--glass-inset), 0 4px 14px #0006;text-shadow:var(--letterpress);background:#100b06b8;padding:8px 14px;font-size:16px;font-weight:700;transition:background .16s,border-color .16s,color .16s,transform .12s}.pagenav-section:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);text-shadow:none;transform:translate(-3px)}.pagenav-section:active{transform:translate(-3px)scale(.96)}.pagenav-section:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px}.pagenav-section.is-current{background:var(--accent);border-color:var(--accent);color:var(--bg);text-shadow:none}.stage-wrap{z-index:20;pointer-events:none;position:fixed;inset:0}.stage{overscroll-behavior:none;transform-style:preserve-3d;background:0 0;position:absolute;inset:0;overflow:clip}.panel{z-index:2;width:100%;height:100%;padding:var(--pad-panel);contain:layout style;backface-visibility:hidden;will-change:transform;pointer-events:none;opacity:0;background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.panel.is-active,.panel.is-on-stage{opacity:1}.panel.is-on-stage:not(.is-active){z-index:2}.panel.is-active{pointer-events:auto;z-index:3}.panel-intro{justify-content:center;gap:18px}.neon-logo{align-self:center;margin-bottom:4px;position:relative}.neon-logo:before{content:"";filter:blur(18px);z-index:-1;background:radial-gradient(58% 60% at 50% 46%,#ec7a1c57,#0000 72%);animation:9s ease-in-out infinite wash;position:absolute;inset:-20px -28px}@keyframes wash{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}.neon-logo .led{opacity:1;background:#241605;border-radius:2px;transition:background .1s,box-shadow .1s;position:absolute;box-shadow:inset 0 0 0 1px #0000008c,inset 0 1px 1px #ffb45a0d}.neon-logo .led.on{background:radial-gradient(circle at 50% 40%, #ffe6b0 0 22%, var(--orange) 58%, #cf5c0d 100%);animation:2.6s ease-in-out infinite ledpulse;animation-delay:var(--pd,0s);box-shadow:0 0 5px 1px #ffaa46f2,0 0 14px 2px #ec7a1cb3,0 0 27px 6px #ec7a1c6b,inset 0 0 5px 1px #ffe096c7,inset 0 0 0 1px #ffc878a6}@keyframes ledpulse{0%,to{filter:brightness()}50%{filter:brightness(1.22)}}.hero-title{font-family:var(--font-pixel);font-weight:var(--font-weight-display);letter-spacing:-1px;text-align:center;white-space:nowrap;margin:6px 0 0;font-size:clamp(46px,12vw,108px);line-height:.94}.hero-title span{color:var(--accent)}.hero-sub{font-family:var(--font-pixel);font-weight:var(--font-weight-display);color:var(--muted);text-align:center;letter-spacing:.5px;margin:10px 0 0;font-size:clamp(24px,3.8vw,34px)}.eyebrow{font-family:var(--font-term);font-size:25px;font-weight:var(--font-weight-display);color:var(--accent);letter-spacing:1px}.eyebrow:before{content:"// ";opacity:.7}.lead{font-family:var(--font-pixel);font-weight:var(--font-weight-display);font-size:var(--font-size-lead);max-width:32rem;color:var(--ink);text-wrap:pretty;margin:4px 0;line-height:1.28}.lead span{color:var(--accent)}.body{font-family:var(--font-body);font-weight:var(--font-weight-body);font-size:var(--font-size-body);color:var(--ink);text-wrap:pretty;max-width:34rem;margin:0;line-height:1.5}.body strong{color:var(--accent);font-weight:var(--font-weight-display)}.panel-intro .body,.panel-sayhi .body,.panel-sayhi .section-title{font-family:var(--font-pixel)}.tags{flex-wrap:wrap;gap:10px 11px;margin-top:8px;display:flex}.tags span{font-family:var(--font-pixel);letter-spacing:.5px;color:#1c1206;background:var(--tagc,#d9b46a);border:0;padding:2px 12px;font-size:18px;font-weight:700;position:relative;transform:rotate(-1.5deg);box-shadow:inset 0 1px #ffffff57,inset 0 -2px #00000038;text-shadow:none!important}.tags span:nth-child(6n+1){--tagc:#ffc24a}.tags span:nth-child(6n+2){--tagc:#7fd0b0}.tags span:nth-child(6n+3){--tagc:#ff9ec0}.tags span:nth-child(6n+4){--tagc:#bfe86a}.tags span:nth-child(6n+5){--tagc:#ff9a4a}.tags span:nth-child(6n){--tagc:#8fcfe8}.tags span:nth-child(2n){transform:rotate(1.6deg)}.panel-library{justify-content:center;align-items:center;gap:12px}.lib-head{text-align:center;flex:none;width:100%}.section-title{font-family:var(--font-pixel);letter-spacing:-.5px;color:var(--ink);margin:4px 0 0;font-size:clamp(36px,5.6vw,56px);font-weight:700}.section-title.big{font-size:clamp(38px,5.8vw,56px);line-height:1.02}.lib-actions{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.lib-cta{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.filters{flex-wrap:wrap;flex:none;justify-content:center;gap:7px;width:100%;display:flex}.panel-library .section-title{font-size:clamp(28px,4.2vw,40px)}.filters button{font-family:var(--font-term);border-radius:var(--r);cursor:pointer;border:1px solid var(--glass-border);color:var(--ink);text-shadow:var(--letterpress);background:#100b0699;padding:6px 14px;font-size:18px;font-weight:600;transition:all .16s}.filters button .c{opacity:.7;margin-left:6px}.filters button:hover{border-color:var(--accent);background:#3c2a1280}.filters button.active{background:var(--accent);color:var(--bg);border-color:var(--accent);text-shadow:none}.lib-pager{flex:0 auto;grid-template:"grid""bar"/minmax(0,1fr);place-items:center;row-gap:14px;width:100%;min-width:0;min-height:0;display:grid;position:relative}#libGrid{grid-area:grid}.lib-page-bar{z-index:3;grid-area:bar;grid-template-columns:72px auto 72px;place-items:center;column-gap:18px;display:grid}.lib-page-prev{grid-column:1}.lib-page-tick{grid-column:2}.lib-page-next{grid-column:3}.lib-page-btn{cursor:pointer;border-radius:var(--r);backdrop-filter:blur(5px);width:72px;height:56px;box-shadow:var(--glass-inset), 0 4px 14px #0006;background:#0c0804e0;border:2px solid #f3e8d2b8;place-items:center;padding:0;transition:background .16s,border-color .16s,transform .12s,opacity .18s;display:grid}.lib-page-arrow{background:var(--ink);filter:drop-shadow(0 1px #0000008c);clip-path:polygon(50% 0,62.5% 0,62.5% 25%,75% 25%,75% 50%,87.5% 50%,87.5% 75%,100% 75%,100% 100%,75% 100%,75% 75%,62.5% 75%,62.5% 50%,50% 50%,37.5% 50%,37.5% 75%,25% 75%,25% 100%,0 100%,0 75%,12.5% 75%,12.5% 50%,25% 50%,25% 25%,37.5% 25%,37.5% 0);width:30px;height:20px;transition:background .16s;display:block}.lib-page-prev .lib-page-arrow{transform:rotate(-90deg)}.lib-page-next .lib-page-arrow{transform:rotate(90deg)}.lib-page-btn:hover{background:var(--accent);border-color:var(--accent)}.lib-page-btn:hover .lib-page-arrow{background:var(--bg)}.lib-page-btn:active{transform:scale(.94)}.lib-page-btn:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px}.lib-page-btn.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.lib-page-tick{text-align:center;min-width:5ch;font-family:var(--font-pixel);letter-spacing:2px;color:var(--ink);text-shadow:var(--letterpress-strong);user-select:none;margin:0;font-size:28px;font-weight:700}.card-grid{--sq:190px;grid-template-columns:repeat(3, var(--sq));grid-auto-rows:var(--sq);place-content:center;gap:14px;width:100%;min-width:0;height:auto;min-height:0;padding:28px 4px 8px;display:grid;overflow:visible}.clink{--wood:#4a3620;--wood-hi:#5d4526;--wood-lo:#2e2013;--tx:0px;--ty:0px;background:repeating-linear-gradient(0deg, #140d0673 0 2px, transparent 2px 22px), repeating-linear-gradient(90deg, #140d062e 0 1px, transparent 1px 7px), repeating-linear-gradient(0deg, #ffe0960d 0 11px, #140d061a 11px 22px), var(--wood);background-position:var(--tx) var(--ty), var(--tx) 0, 0 var(--ty), 0 0;box-shadow:inset 3px 3px 0 var(--wood-hi), inset -3px -3px 0 var(--wood-lo), inset 0 0 0 3px #140d0699, inset 0 0 0 4px #785a3266;filter:drop-shadow(0 5px 9px #00000080);border:0;border-radius:0;position:relative;overflow:hidden}#libGrid .card.crate{--wood:#6a4a28;--wood-hi:#8a6234;--wood-lo:#3a2412;--iron:#2a2218;--iron-hi:#5a4a38;--stamp:#14110c;--tag:#8a5a18;--tx:0px;--ty:0px;--stamp-rot:-1deg;--crate-shake-duration:.18s;--crate-lid-duration:.26s;--crate-glow-duration:.14s;--crate-lamp:#ffba5075;--crate-lamp-deep:#ec7a1c33;cursor:pointer;color:var(--stamp);contain:layout style;background:radial-gradient(circle at 10px 10px, var(--iron) 0 3px, transparent 4px), radial-gradient(circle at calc(100% - 10px) 10px, var(--iron) 0 3px, transparent 4px), radial-gradient(circle at 10px calc(100% - 10px), var(--iron) 0 3px, transparent 4px), radial-gradient(circle at calc(100% - 10px) calc(100% - 10px), var(--iron) 0 3px, transparent 4px), repeating-linear-gradient(180deg, #140c0657 0 2px, transparent 2px 26px), linear-gradient(180deg, #7a5630 0%, #5a3e22 55%, #4a3018 100%);box-shadow:inset 0 0 0 4px var(--wood-lo), inset 3px 3px 0 #ffd28c1f, inset -3px -3px 0 #00000059, 5px 6px 0 #24160c;filter:none;transform:rotate(var(--rot,0deg));border:0;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:22px 12px 18px;transition:box-shadow .12s;display:flex;position:relative;overflow:visible}#libGrid .card.crate[data-cat=project]{--tag:#e08a14}#libGrid .card.crate[data-cat=work]{--tag:#e24a18}#libGrid .card.crate[data-cat=education]{--tag:#7a9a22}#libGrid .card.crate[data-cat=certs]{--tag:#d44a6a}#libGrid .card.crate:is(:hover,:focus-visible){animation:crate-shake var(--crate-shake-duration) ease-out both;box-shadow:inset 0 0 26px 6px #ffb04042, inset 0 -8px 16px #ff96281a, inset 0 0 0 4px var(--wood-lo), inset 3px 3px 0 #ffd28c29, inset -3px -3px 0 #00000059, 6px 8px 0 #24160c, 0 0 14px #ffaa3c33, 10px 13px 18px #0009}#libGrid .card.crate:active{transform:rotate(var(--rot,0deg)) scale(.99);animation:none}#libGrid .card.crate.is-open{box-shadow:inset 0 0 0 4px var(--wood-lo), 5px 6px 0 #24160c, 0 0 0 2px var(--accent), 8px 10px 14px #0000008c}#libGrid .card.crate.is-open:is(:hover,:focus-visible){box-shadow:inset 0 0 26px 6px #ffb04042, inset 0 -8px 16px #ff96281a, inset 0 0 0 4px var(--wood-lo), 6px 8px 0 #24160c, 0 0 0 2px var(--accent), 0 0 14px #ffaa3c33, 10px 13px 18px #0009}@keyframes crate-shake{0%{transform:rotate(var(--rot,0deg))}20%{transform:rotate(calc(var(--rot,0deg) + .7deg)) translateX(1px)}40%{transform:rotate(calc(var(--rot,0deg) - .6deg)) translateX(-1px)}60%{transform:rotate(calc(var(--rot,0deg) + .35deg)) translateX(1px)}80%{transform:rotate(calc(var(--rot,0deg) - .15deg))}to{transform:rotate(var(--rot,0deg)) translateY(-2px)}}.crate-lid{z-index:4;pointer-events:none;transform-origin:50% 100%;height:14px;box-shadow:inset 0 1px 0 #ffd28c2e, inset 0 -2px 0 var(--iron), 0 2px 0 #00000052;background:repeating-linear-gradient(90deg,#140c062e 0 1px,#0000 1px 7px),linear-gradient(#8a6234 0%,#6a4a28 68%,#3a2412 100%);border-radius:2px 2px 0 0;position:absolute;top:0;left:2px;right:2px}.crate-lid:after{content:"";background:linear-gradient(180deg, var(--crate-lamp), transparent);opacity:0;pointer-events:none;height:4px;position:absolute;bottom:-3px;left:10%;right:10%}#libGrid .card.crate:is(:hover,:focus-visible) .crate-lid{animation:crate-lid-pop var(--crate-lid-duration) ease-out both}#libGrid .card.crate:is(:hover,:focus-visible) .crate-lid:after{opacity:.85}@keyframes crate-lid-pop{0%{transform:translateY(0)rotate(0)}34%{transform:translateY(-6px)rotate(-3deg)}58%{transform:translateY(-3px)rotate(1.4deg)}78%{transform:translateY(-5px)rotate(-1deg)}to{transform:translateY(-4px)rotate(-1.4deg)}}.crate-glow{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse 72% 58% at 50% 64%, var(--crate-lamp) 0%, var(--crate-lamp-deep) 46%, transparent 74%);mix-blend-mode:screen;transition:opacity var(--crate-glow-duration) ease;position:absolute;inset:10px 8px 12px}#libGrid .card.crate:is(:hover,:focus-visible) .crate-glow{opacity:1}.crate-band{z-index:2;background:repeating-linear-gradient(90deg, var(--iron) 0 10px, var(--iron-hi) 10px 12px, #1a140e 12px 14px);pointer-events:none;height:11px;position:absolute;left:0;right:0;box-shadow:inset 0 1px #ffdca01f,inset 0 -1px #00000073}.crate-band-top{top:14px}.crate-band-bot{bottom:14px}.crate-mark{z-index:1;width:34px;height:34px;color:var(--stamp);opacity:.78;transform:rotate(var(--stamp-rot));flex:none;display:block;position:relative}.crate-mark-svg{fill:currentColor;width:100%;height:100%;display:block}.crate-stamp{z-index:1;font-family:var(--font-pixel);font-weight:var(--font-weight-display);text-transform:uppercase;letter-spacing:.8px;text-align:center;line-height:1.05;position:relative;text-shadow:none!important}.crate-stamp-name{color:var(--stamp);font-size:var(--font-size-stamp-name);-webkit-line-clamp:3;line-clamp:3;opacity:.86;-webkit-box-orient:vertical;max-width:92%;display:-webkit-box;overflow:hidden}.crate-stamp-tag{color:var(--tag);font-size:var(--font-size-stamp-tag);letter-spacing:2px;opacity:.94;transform:rotate(var(--stamp-rot))}#libGrid .card.crate.is-dropping,#libGrid .card.crate.is-dropping:is(:hover,:focus-visible){--crate-drop-from:-28px;--crate-squash-x:1.015;--crate-squash-y:.985;--crate-thud-sink:1px;transform-origin:50% 100%;pointer-events:none;animation-name:crate-drop;animation-duration:var(--crate-drop-duration,.17s);animation-delay:var(--crate-drop-delay,0s);animation-timing-function:cubic-bezier(.22,.84,.32,1);animation-fill-mode:backwards}@keyframes crate-drop{0%{transform:rotate(var(--rot,0deg)) translateY(var(--crate-drop-from));filter:none}72%{transform:rotate(var(--rot,0deg)) translateY(0);filter:none}86%{transform:rotate(var(--rot,0deg)) translateY(var(--crate-thud-sink)) scale(var(--crate-squash-x), var(--crate-squash-y));filter:none}to{transform:rotate(var(--rot,0deg));filter:none}}.card-tip{z-index:70;pointer-events:none;border:1px solid var(--glass-border);max-width:320px;box-shadow:0 12px 34px #0000009e, var(--glass-inset);opacity:0;background:#0e0a06f7;flex-direction:column;gap:4px;padding:11px 14px;transition:opacity .12s,transform .12s;display:flex;position:fixed;transform:translateY(4px)}.card-tip.show{opacity:1;transform:translateY(0)}.card-tip b{font-family:var(--font-pixel);color:var(--ink);font-size:16px;font-weight:700}.card-tip span{font-family:var(--font-body);color:var(--muted);font-size:14.5px;line-height:1.36}.langs{font-family:var(--font-term);flex-wrap:wrap;gap:8px;margin-top:auto;font-size:18px;display:flex}.langs span{color:var(--green-hi);align-items:center;gap:5px;display:inline-flex}.langs .dot{border-radius:50%;width:7px;height:7px}.card-stats{border-top:1px solid var(--line);font-family:var(--font-term);color:var(--muted);justify-content:space-between;align-items:center;padding-top:9px;font-size:16px;display:flex}.card-stats .star{color:var(--green-hi)}.card-stats .upd{color:var(--dim)}.contact{flex-direction:column;gap:10px;max-width:56rem;margin-top:6px;display:flex}.drop{flex-wrap:wrap;gap:8px;display:flex}.contact input,.contact textarea,.contact select{font-family:var(--font-term);color:var(--ink);border:1px solid var(--line-soft);border-radius:var(--r);background:#100b06b3;outline:none;padding:12px 18px;font-size:22px;font-weight:600;transition:border-color .16s}.contact textarea{resize:none}.contact input{flex:12ch;min-width:0}.contact select{cursor:pointer;flex:none}.contact input:focus,.contact textarea:focus,.contact select:focus{border-color:var(--accent)}.contact input::placeholder,.contact textarea::placeholder{color:var(--dim)}.btn{font-family:var(--font-term);border-radius:var(--r);cursor:pointer;white-space:nowrap;border:1px solid #0000;padding:12px 24px;font-size:22px;font-weight:700;transition:all .16s}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-hi);color:var(--bg)}.btn-ghost{border:1px solid var(--glass-border);color:var(--ink);text-shadow:var(--letterpress);background:#100b0699}.btn-ghost:hover{border-color:var(--accent);color:var(--bg);background:var(--accent);text-shadow:none}.btn:active{background:var(--accent-hi);color:var(--bg)}.form-note{font-family:var(--font-term);color:var(--accent);min-height:1.2em;margin:2px 0 0;font-size:19px;font-weight:600}.footer{z-index:25;text-align:center;font-family:var(--font-term);color:var(--dim);pointer-events:none;font-size:15px;position:fixed;bottom:12px;left:0;right:0}.contacts{grid-template-columns:repeat(4,1fr);gap:12px 11px;max-width:56rem;margin-top:12px;display:grid}.clink{color:var(--ink);cursor:pointer;min-width:0;rotate:var(--crook,0deg);flex-direction:column;align-items:flex-start;gap:1px;padding:11px 13px;display:flex}.clink:nth-child(5n+1){--crook:-1.4deg;clip-path:polygon(0% 15%,14% 15%,14% 0%,100% 0%,100% 82%,85% 82%,85% 100%,0% 100%)}.clink:nth-child(5n+2){--crook:1.6deg;clip-path:polygon(0% 0%,86% 0%,86% 16%,100% 16%,100% 100%,17% 100%,17% 84%,0% 84%)}.clink:nth-child(5n+3){--crook:-1.1deg;clip-path:polygon(0% 11%,11% 11%,11% 0%,100% 0%,100% 44%,90% 44%,90% 64%,100% 64%,100% 100%,0% 100%)}.clink:nth-child(5n+4){--crook:1.2deg;clip-path:polygon(0% 0%,100% 0%,100% 100%,64% 100%,64% 88%,38% 88%,38% 100%,0% 100%,0% 18%,10% 18%,10% 6%,0 6%)}.clink:nth-child(5n){--crook:-1.7deg;clip-path:polygon(0% 13%,12% 13%,12% 0%,88% 0%,88% 13%,100% 13%,100% 100%,0% 100%)}.clink b{font-family:var(--font-pixel);color:var(--ink);font-size:18px;font-weight:700;line-height:1.05}.clink span{font-family:var(--font-term);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:15px;font-weight:600;overflow:hidden}.clink:hover{box-shadow:inset 3px 3px 0 var(--wood-hi), inset -3px -3px 0 var(--wood-lo), inset 0 0 0 3px var(--accent);filter:drop-shadow(0 9px 14px #0000008c);transform:translateY(-2px)}.clink.is-dim{opacity:.5}.clink.is-dim b,.clink.is-dim span{color:var(--dim);text-decoration:line-through 2px}.clink.is-dim:hover{box-shadow:inset 3px 3px 0 var(--wood-hi), inset -3px -3px 0 var(--wood-lo), inset 0 0 0 3px #140d0699, inset 0 0 0 4px #785a3266;filter:drop-shadow(0 5px 9px #00000080);transform:none}.clink:active,.clink.is-sel{box-shadow:inset 3px 3px 0 var(--wood-hi), inset -3px -3px 0 var(--wood-lo), inset 0 0 0 3px var(--accent)}.clink:active b,.clink:active span,.clink.is-sel b,.clink.is-sel span{color:var(--accent-hi);text-shadow:none}.hero-title,.section-title,.lead{text-shadow:var(--letterpress-strong)}.hero-sub,.eyebrow,.body,.tags span,.brand-word,.clink b,.clink span{text-shadow:var(--letterpress)}.popup-overlay{z-index:60;backdrop-filter:blur(3px);opacity:0;pointer-events:none;background:#06040294;place-items:center;padding:clamp(16px,5vh,60px);transition:opacity .22s;display:grid;position:fixed;inset:0}.popup-overlay.open{opacity:1;pointer-events:auto}.popup-card{border-radius:var(--r);opacity:0;flex-direction:column;width:min(920px,96vw);max-height:90vh;transition:transform .26s cubic-bezier(.2,.9,.3,1.2),opacity .2s;display:flex;position:relative;overflow:hidden;transform:scale(.92)}.popup-overlay.open .popup-card{opacity:1;transform:scale(1)}.popup-head{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px 14px;display:flex}.popup-title{font-family:var(--font-pixel);font-weight:var(--font-weight-display);color:var(--ink);margin:0;font-size:30px}.popup-meta{font-family:var(--font-term);color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:4px;font-size:17px;display:flex}.popup-meta .dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.popup-close{font-family:var(--font-term);cursor:pointer;width:40px;height:40px;color:var(--ink);border:1px solid var(--line-soft);background:0 0;flex:none;font-size:22px;line-height:1;transition:all .15s}.popup-close:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.popup-body{flex:auto;padding:22px 26px 28px;overflow-y:auto}.readme{font-family:var(--font-body);font-weight:var(--font-weight-body);color:var(--ink);font-size:var(--font-size-readme);line-height:1.6}.readme h1,.readme h2,.readme h3{font-family:var(--font-pixel);color:var(--ink);font-weight:var(--font-weight-display);letter-spacing:-.3px;margin:22px 0 8px;line-height:1.16}.readme h1{font-size:34px}.readme h2{font-size:28px}.readme h3{font-size:24px}.readme p{margin:10px 0}.readme strong{color:var(--accent)}.readme a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.readme hr{border:none;border-top:1px solid var(--line);margin:20px 0}.readme ul{margin:10px 0;padding-left:20px}.readme li{margin:5px 0}.readme img{border:1px solid var(--line);max-width:100%;height:auto;margin:14px 0;display:block}.readme figure{margin:22px 0}.readme figure img{margin:0 0 8px}.readme figcaption{font-family:var(--font-body);color:var(--muted);font-size:17px;font-style:italic;line-height:1.45}.readme code{font-family:var(--font-term);background:#00000059;padding:1px 6px;font-size:.95em}.readme .lead-blurb{font-family:var(--font-body);color:var(--ink);font-weight:var(--font-weight-display);border-left:3px solid var(--accent);padding-left:14px;font-size:26px;line-height:1.35}.desktop-only-gate{display:none}@media (width<=760px){html,body{overscroll-behavior:none;height:100%;overflow:clip}body>:not(.desktop-only-gate){display:none!important}.desktop-only-gate{z-index:100;text-align:center;background:var(--bg-deep);place-items:center;padding:32px 28px;display:grid;position:fixed;inset:0}.desktop-only-kicker{font-family:var(--font-term);font-size:18px;font-weight:var(--font-weight-display);color:var(--accent);letter-spacing:1px;margin:0 0 12px}.desktop-only-title{font-family:var(--font-pixel);font-weight:var(--font-weight-display);color:var(--ink);text-shadow:var(--letterpress-strong);margin:0 0 14px;font-size:clamp(34px,10vw,52px);line-height:1.1}.desktop-only-body{font-family:var(--font-body);font-weight:var(--font-weight-body);color:var(--muted);max-width:22rem;margin:0;font-size:20px;line-height:1.5}}@media (prefers-reduced-motion:reduce){.neon-logo:before{animation:none}.neon-logo .led{transition:none}html{scroll-behavior:auto}.popup-card,.popup-overlay{transition:opacity .12s}#libGrid .card.crate.is-dropping{opacity:1;filter:none;pointer-events:auto;transform:rotate(var(--rot,0deg));animation:none}#libGrid .card.crate:is(:hover,:focus-visible){transform:rotate(var(--rot,0deg));animation:none}#libGrid .card.crate:is(:hover,:focus-visible) .crate-lid{animation:none;transform:none}#libGrid .card.crate .crate-glow{transition:none}}
