:root{color-scheme:dark;--bg: #000;--fg: #fff;--muted: #8a8a8a;--faint: #262626;--link: #93c5fd;--code-bg: #0a0a0a;--code-dim: #6b6b6b;--code-soft: #bdbdbd;--measure: 38.4rem;--gap: 1.5rem;--size: 15px}:root[data-theme=light]{color-scheme:light;--bg: #fff;--fg: #000;--muted: #6b6b6b;--faint: #e5e5e5;--link: #2563eb;--code-bg: #f6f6f6;--code-dim: #8a8a8a;--code-soft: #444}*,*::before,*::after{box-sizing:border-box}html{font-size:var(--size)}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-mono);line-height:1.65;-webkit-font-smoothing:antialiased;transition:background-color .3s,color .3s}h1,h2,h3{font-weight:700;line-height:1.3}h1{font-size:1.35rem;margin:0}h2{font-size:1.1rem;margin:2.5rem 0 .75rem}a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:3px;transition:text-decoration-color .15s}a:hover{text-decoration-color:var(--fg)}img{max-width:100%;display:block}::selection{background:var(--fg);color:var(--bg)}code,pre{font-family:var(--font-mono)}blockquote{margin:1.5rem 0;padding-left:1rem;border-left:1px solid var(--muted);color:var(--muted)}hr{border:0;border-top:1px solid var(--faint);margin:2.5rem 0}.container{max-width:var(--measure);margin:0 auto;padding:3rem 1rem 2rem;min-height:100vh;display:flex;flex-direction:column}.nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-bottom:3.5rem;font-size:.9rem}.nav a{text-decoration:none;color:var(--muted)}.nav a:hover,.nav a.active{color:var(--fg)}.nav .nav-brand{display:inline-flex;align-items:center;gap:.5rem;color:var(--fg);font-weight:700}.nav .logo{width:1.6rem;height:1.6rem;margin-bottom:.15rem;overflow:visible}.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem}.theme-toggle{display:grid;place-items:center;width:1.5rem;height:1.5rem;margin-left:.15rem;padding:0;border:0;background:none;color:var(--muted);cursor:pointer}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--fg)}.theme-toggle svg{display:block;width:14px;height:14px;overflow:visible}.theme-toggle g{transform-box:fill-box;transform-origin:center}.theme-toggle .icon-moon{opacity:0;transform:rotate(-90deg) scale(.5)}:root[data-theme=light] .theme-toggle .icon-sun{opacity:0;transform:rotate(90deg) scale(.5)}:root[data-theme=light] .theme-toggle .icon-moon{opacity:1;transform:none}@media (max-width: 560px){.nav{flex-wrap:nowrap;align-items:center;gap:clamp(.5rem,2.6vw,.75rem)}.nav-brand span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.nav-links{flex-wrap:nowrap;gap:clamp(.5rem,2.6vw,.8rem);font-size:clamp(.72rem,3.3vw,.8rem)}.nav-links a{white-space:nowrap}.theme-toggle{margin-left:0;flex-shrink:0}}.page-header{margin-bottom:1.5rem}.meta{color:var(--muted);font-size:.85rem;margin:.35rem 0 0}.back{margin-top:3rem;font-size:.9rem}.back a{text-decoration:none;color:var(--muted)}.back a:hover{color:var(--fg)}.footer{margin-top:auto;padding-top:4rem;font-size:.85rem}.footer-links{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0 0 1.5rem;padding:0;font-size:.81rem}.footer-links a{display:flex;align-items:center;color:var(--link);text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--fg)}.footer-links svg{width:10px;height:10px}.footer-links span{margin-left:.5rem}.footer-copy{color:var(--muted);margin:0}.prose p{margin:0 0 1rem}.prose ul,.prose ol{padding-left:1.25rem}.label{color:var(--muted);font-size:.85rem;font-weight:500;margin-top:3rem}.rows{list-style:none;padding:0;margin:1.5rem 0 0}.row{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:.4rem 0;text-decoration:none}.row:hover .row-title{text-decoration:underline;text-underline-offset:3px}.row-date{color:var(--muted);white-space:nowrap}.row-desc{display:block;color:var(--muted);font-size:.85rem}@media (max-width: 480px){.row{grid-template-columns:1fr;gap:0}}.tag{display:inline-block;margin-left:.6rem;padding:0 .4rem;border:1px solid var(--muted);color:var(--muted);font-size:.75rem;vertical-align:middle}pre.giallo{background:var(--code-bg);color:var(--fg);border:1px solid var(--faint);padding:1rem 1.1rem;overflow-x:auto;line-height:1.55;font-size:.85rem}pre.giallo .z-i{font-style:normal}pre.giallo .z-9{font-weight:700}pre.giallo .z-7{color:var(--code-soft)}pre.giallo .z-4,pre.giallo .z-5{color:var(--code-dim)}pre.giallo .z-4.z-i{font-style:italic}pre.giallo .z-15{text-decoration:underline;text-decoration-color:var(--code-dim);text-underline-offset:3px}:not(pre)>code{background:var(--faint);padding:.1em .35em;font-size:.9em}.hero{position:relative;margin:-1rem 0 2.5rem;overflow:hidden}.hero img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:50% 32.5%;filter:grayscale(1) contrast(1.05);transition:filter .6s}.hero .lantern{position:absolute;left:var(--x, 50%);top:var(--y, 50%);width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle, rgba(255,214,140,.9) 0%, rgba(255,170,70,.35) 18%, rgba(255,150,50,.08) 45%, rgba(0,0,0,0) 70%);mix-blend-mode:screen;z-index:2;pointer-events:none;transform:translate(-50%, -50%);transition:filter .6s}.hero::after{content:"";position:absolute;inset:0;z-index:1;background:#000;opacity:0;pointer-events:none}.hero:hover img{filter:none}.hero:hover .lantern{filter:opacity(0.35)}.trail{position:relative;list-style:none;margin:2rem 0 0;padding:0 0 0 1.75rem}.trail::before{content:"";position:absolute;left:.45rem;top:.7rem;bottom:.4rem;border-left:1px dashed var(--muted);transform-origin:top}.trail-stop{position:relative;padding-bottom:1.75rem}.trail-stop:last-child{padding-bottom:0}.trail-dot{position:absolute;left:calc(.45rem - 1.75rem - 0.3rem);top:.45rem;width:.65rem;height:.65rem;border-radius:50%;border:1px solid var(--muted);background:var(--bg);transition:border-color .2s}.is-current .trail-dot{background:#ffd68c;border-color:#ffd68c;box-shadow:0 0 0 4px rgba(255,214,140,.15),0 0 16px 5px rgba(255,170,70,.45)}.trail-link{display:block;text-decoration:none}.trail-link:hover .trail-title{transform:translateX(4px)}.trail-stop:hover .trail-dot{border-color:var(--fg)}.trail-date{display:block;color:var(--muted);font-size:.8rem}.trail-title{display:block;font-weight:700;transition:transform .25s}.trail-desc{display:block;color:var(--muted);font-size:.85rem;margin-top:.15rem}.cards{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem}.card{border:1px solid var(--faint);padding:1rem 1.1rem;transition:border-color .15s}.card:hover{border-color:var(--muted)}.card-title{font-weight:700;text-decoration:none}.card-title:hover{text-decoration:underline}.card-desc{margin:.5rem 0 0}.card-stack{margin:.5rem 0 0;color:var(--muted);font-size:.8rem}.lost{padding:2rem 0 1rem;text-align:center}.lost-mark{width:8rem;height:8rem;margin:0 auto 1.5rem;display:block;overflow:visible}.lost-code{margin:0;color:var(--muted);font-size:.85rem;letter-spacing:.3em}.lost-title{font-size:1.35rem;margin:.5rem 0 1rem}.lost-text{color:var(--muted);margin:0 auto 2rem;max-width:28rem}.lost-back a{text-decoration:none}.lost-back a:hover{text-decoration:underline}:root{--ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);--stagger: 70ms}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}.nav{view-transition-name:nav}@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.container>*{animation:rise .6s var(--ease-out) both;animation-delay:calc(var(--i, 0)*var(--stagger))}.container>:nth-child(1){--i: 0}.container>:nth-child(2){--i: 1}.container>:nth-child(3){--i: 2}.container>:nth-child(4){--i: 3}.container>:nth-child(5){--i: 4}.container>:nth-child(6){--i: 5}.container>:nth-child(7){--i: 6}.container>:nth-child(8){--i: 7}.container>.nav{animation:none}.rows li,.cards li,.trail li{animation:rise .5s var(--ease-out) both;animation-delay:calc(200ms + var(--j, 0)*50ms)}.rows li:nth-child(1),.cards li:nth-child(1),.trail li:nth-child(1){--j: 0}.rows li:nth-child(2),.cards li:nth-child(2),.trail li:nth-child(2){--j: 1}.rows li:nth-child(3),.cards li:nth-child(3),.trail li:nth-child(3){--j: 2}.rows li:nth-child(4),.cards li:nth-child(4),.trail li:nth-child(4){--j: 3}.rows li:nth-child(5),.cards li:nth-child(5),.trail li:nth-child(5){--j: 4}.rows li:nth-child(6),.cards li:nth-child(6),.trail li:nth-child(6){--j: 5}.rows li:nth-child(7),.cards li:nth-child(7),.trail li:nth-child(7){--j: 6}.rows li:nth-child(8),.cards li:nth-child(8),.trail li:nth-child(8){--j: 7}.rows li:nth-child(9),.cards li:nth-child(9),.trail li:nth-child(9){--j: 8}.rows li:nth-child(10),.cards li:nth-child(10),.trail li:nth-child(10){--j: 9}.rows li:nth-child(11),.cards li:nth-child(11),.trail li:nth-child(11){--j: 10}.rows li:nth-child(12),.cards li:nth-child(12),.trail li:nth-child(12){--j: 11}@keyframes draw{from{transform:scaleY(0)}}.trail::before{animation:draw 1.2s var(--ease-out) .2s both}.is-current .trail-dot{animation:glow 3.7s ease-in-out infinite}@keyframes blink{50%{opacity:0}}.nav-brand span::after{content:"";display:inline-block;width:.6em;height:.95em;margin-left:2px;vertical-align:-.12em;background:currentColor;animation:blink 1.1s steps(1) infinite}@keyframes glow{0%, 100%{opacity:1}30%{opacity:.7}55%{opacity:.95}80%{opacity:.8}}.logo .glow,.lost-mark .glow{animation:glow 3.7s ease-in-out infinite}.theme-toggle g{transition:opacity .3s,transform .4s var(--ease-out)}.nav-links a{background:linear-gradient(currentColor, currentColor) no-repeat 0 100%/0 1px;padding-bottom:2px;transition:color .15s,background-size .3s var(--ease-out)}.nav-links a:hover,.nav-links a.active{background-size:100% 1px}.row-title,.row-date{transition:transform .25s var(--ease-out),color .25s}.row:hover .row-title{transform:translateX(4px);text-decoration:none}.row:hover .row-date{color:var(--fg)}.footer-links svg{transition:transform .2s var(--ease-out)}.footer-links a:hover svg{transform:translate(2px, -2px)}.card{transition:border-color .15s,transform .25s var(--ease-out)}.card:hover{transform:translateY(-2px)}@keyframes adjust{from{opacity:1}to{opacity:0}}@keyframes ignite{from{opacity:0;transform:translate(-50%, -50%) scale(.4)}to{opacity:1;transform:translate(-50%, -50%) scale(1)}}@keyframes flicker{0%, 100%{opacity:1;transform:translate(-50%, -50%) scale(1)}18%{opacity:.82;transform:translate(-50%, -50%) scale(.96)}22%{opacity:.95}47%{opacity:.75;transform:translate(-50%, -50%) scale(1.04)}52%{opacity:1}71%{opacity:.88;transform:translate(-50%, -50%) scale(.98)}}.hero::after{animation:adjust 2.4s ease-out both}.hero .lantern{animation:ignite 1.2s var(--ease-out) 1.6s both,flicker 3.7s ease-in-out 2.8s infinite}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important}@view-transition{navigation:none}}