:root{--ink: #111114;--gray: #6b7076;--faint: #9aa0a6;--rule: rgba(17, 17, 20, .12);--panel: #f5f5f4;--body-text: #3c4043}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,system-ui,sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}button{font:inherit}.ld-root{min-height:100vh;display:flex;flex-direction:column;background:#fff;position:relative}.ld-nav{position:absolute;top:28px;right:56px;z-index:10;display:flex;flex-direction:column}.ld-nav-btn{font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.35em;color:var(--ink);background:#fff;border:1px solid var(--ink);padding:14px 22px 14px 26px;cursor:pointer;transition:background .16s ease,color .16s ease}.ld-nav-btn+.ld-nav-btn{border-top:none}.ld-nav-btn:hover{background:var(--ink);color:#fff}.ld-nav-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.ld-hero{position:relative;flex:1;min-height:62vh;overflow:hidden}.ascii-wrap{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.ascii-art{margin:0;padding-top:48px;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.18;color:#b9bcc0;white-space:pre;-webkit-user-select:none;user-select:none;pointer-events:none}.gg-layer{position:absolute;top:0;left:0}.gg-sky{color:#d7d9dc}.gg-fog{color:#d7d9dc;opacity:.7}.gg-terrain{color:#c9cccf}.gg-bridge{color:#b9bcc0}.gg-lights{color:#85898f;text-shadow:0 0 6px rgba(120,125,132,.45);animation:gg-pulse 2.6s ease-in-out infinite alternate}.gg-refl-warm{color:#878b91;text-shadow:0 0 5px rgba(120,125,132,.35)}.gg-refl-cool{color:#b4b7bb}@keyframes gg-pulse{0%{opacity:.75}to{opacity:1}}@media (prefers-reduced-motion: reduce){.gg-lights{animation:none}}.lily-water{color:#a9c3d6}.lily-pads{color:#8cae89}.lily-strands{color:#c69fb6}.lily-flowers{color:#d68fb2;text-shadow:0 0 7px rgba(214,143,178,.5);animation:gg-pulse 2.6s ease-in-out infinite alternate}.lily-hearts{color:#c9a24a;text-shadow:0 0 7px rgba(201,162,74,.5);animation:gg-pulse 2.6s ease-in-out infinite alternate}@media (prefers-reduced-motion: reduce){.lily-flowers,.lily-hearts{animation:none}}.shannon-ink{color:#85898f}.shannon-bits{color:#d0d3d6}.ld-scene-caption{position:absolute;right:36px;bottom:52px;z-index:6;font-family:IBM Plex Mono,monospace;font-size:12px;font-style:italic;letter-spacing:.08em;color:var(--faint);pointer-events:none}.ld-scene-nav{position:absolute;right:32px;bottom:24px;z-index:6;display:flex;align-items:center;gap:4px;font-family:IBM Plex Mono,monospace}.ld-scene-arrow,.ld-scene-dot{background:none;border:none;cursor:pointer;color:var(--faint);font-size:13px;padding:4px 6px;transition:color .14s ease}.ld-scene-arrow:hover,.ld-scene-dot:hover,.ld-scene-dot.active{color:var(--ink)}.ld-hero-id{position:absolute;left:64px;bottom:10%;z-index:5;display:flex;align-items:baseline;flex-wrap:wrap;gap:12px 28px}.ld-name{font-size:clamp(40px,5.5vw,76px);font-weight:300;letter-spacing:-.02em;line-height:1;margin:0;color:var(--ink)}.ld-role{font-family:IBM Plex Mono,monospace;font-size:clamp(15px,1.4vw,20px);font-weight:500;color:var(--ink)}.ld-footer{border-top:1px solid var(--rule);flex-shrink:0}.ld-ft-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:24px 48px;padding:28px 36px 36px;align-items:start}.ld-clock{font-family:IBM Plex Mono,monospace;font-size:14px;color:var(--ink);margin-bottom:18px}.ld-bio{font-size:16px;line-height:1.7;color:var(--body-text);max-width:54ch;margin:0}.ld-links{display:flex;flex-direction:column;gap:10px}.ld-link{font-size:16px;color:var(--ink);text-decoration:none;width:fit-content;border-bottom:1px solid transparent;transition:border-color .16s ease}.ld-link:hover{border-bottom-color:var(--ink)}.ld-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.ld-copy{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--faint);justify-self:end}.ld-status{border-top:1px solid var(--rule);padding:14px 36px 18px;font-size:14px;color:var(--faint)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;animation:overlay-in .35s ease both}@keyframes overlay-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.sp-root{height:100vh;display:flex;flex-direction:column;background:#fff;overflow:hidden}.sp-header{position:relative;padding:40px 64px 36px;flex-shrink:0}.sp-close{position:absolute;top:16px;right:32px;background:#111114;color:#fff;border:none;font-family:IBM Plex Mono,monospace;font-size:12px;letter-spacing:.35em;padding:16px 26px 16px 30px;cursor:pointer;transition:opacity .16s ease}.sp-close:hover{opacity:.8}.sp-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sp-title{font-size:clamp(36px,4.5vw,56px);font-weight:700;letter-spacing:-.03em;line-height:1;margin:0 0 14px}.sp-subtitle{font-family:IBM Plex Mono,monospace;font-size:15px;color:var(--gray)}.sp-columns{flex:1;display:flex;min-height:0;border-top:1px solid var(--rule)}.sp-col{position:relative;flex:1 1 0%;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 28px 40px;border:none;border-right:1px solid var(--rule);background:#fff;cursor:pointer;text-align:left;color:inherit;transition:flex-grow .55s cubic-bezier(.32,.72,0,1),background-color .55s ease}.sp-col:last-child{border-right:none}.sp-col.active{flex-grow:3.2;background:var(--panel);cursor:default}.sp-col:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.sp-num{position:absolute;top:20px;right:24px;font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--faint)}.sp-col-title{font-size:clamp(17px,1.6vw,24px);font-weight:500;letter-spacing:-.01em;line-height:1.25;margin:0 0 18px;overflow-wrap:break-word}.sp-col-year{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--faint)}.sp-details{opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;max-width:620px}.sp-col.active .sp-details{opacity:1;transform:translateY(0);transition-delay:.26s;pointer-events:auto}.sp-details-title{font-size:clamp(20px,1.8vw,26px);font-weight:500;margin:0 0 22px}.sp-desc{font-size:15px;line-height:1.65;color:var(--body-text);margin:0 0 24px;white-space:pre-line}.sp-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.sp-tag{font-family:IBM Plex Mono,monospace;font-size:12.5px;color:var(--body-text);border:1px solid var(--rule);padding:6px 12px}.sp-view{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:5px;margin-bottom:34px}.sp-view:hover{color:var(--gray)}.state-msg{font-family:IBM Plex Mono,monospace;font-size:13px;color:var(--faint);padding:40px 64px}@media (max-width: 720px){.ld-nav{top:16px;right:20px}.ld-nav-btn{padding:10px 16px 10px 20px}.ld-scene-nav{right:12px;bottom:12px}.ld-hero-id{left:20px;bottom:8%}.ascii-art{font-size:9px}.ld-ft-grid{grid-template-columns:1fr;padding:24px 20px 28px}.ld-copy{justify-self:start}.ld-status{padding:12px 20px 16px}.sp-header{padding:28px 20px 24px}.sp-close{right:16px;padding:12px 18px 12px 22px}.sp-columns{flex-direction:column;overflow-y:auto}.sp-col{border-right:none;border-bottom:1px solid var(--rule);padding:20px;flex:0 0 auto;justify-content:flex-start}.sp-col.active{flex-grow:0}.sp-num{top:16px;right:16px}.sp-col-title{margin-bottom:8px}}@media (prefers-reduced-motion: reduce){.sp-col,.sp-details,.overlay{transition:none;animation:none}}
