:root{--bg: #ececec;--card-bg: #ffffff;--header-bg: #1d1d1d;--text: #222;--muted: #8a8a8a;--accent: #1d1d1d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}a{color:inherit}.site-header{background:var(--header-bg);color:#fff;padding:1rem 1.5rem 1.2rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}.site-nav{display:flex;gap:1.4rem;font-size:.95rem}.site-nav a{text-decoration:none;opacity:.95}.site-nav a:hover,.site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:4px}.nav-cats{position:relative}.nav-cats summary{cursor:pointer;list-style:none;user-select:none}.nav-cats summary::-webkit-details-marker{display:none}.nav-cats summary:after{content:" ▾";font-size:.75em}.nav-cats ul{position:absolute;top:calc(100% + .6rem);left:0;margin:0;padding:.4rem 0;list-style:none;background:var(--header-bg);border-radius:8px;min-width:190px;max-height:70vh;overflow-y:auto;box-shadow:0 6px 20px #00000059;z-index:60}.nav-cats ul a{display:block;padding:.45rem 1.1rem;text-decoration:none;white-space:nowrap}.nav-cats ul a:hover{background:#ffffff1f;text-decoration:none}.site-title{text-align:center}.site-title a{font-family:Snell Roundhand,Brush Script MT,Segoe Script,cursive;font-size:2.2rem;text-decoration:none;white-space:nowrap}.site-tagline{margin:.15rem 0 0;text-align:center;font-size:.85rem;color:#bbb}main{max-width:1500px;margin:0 auto;padding:2rem 1.5rem 4rem}.masonry{columns:4 280px;column-gap:1.1rem}.masonry[data-js]{columns:auto;display:flex;gap:1.1rem;align-items:flex-start}.m-col{flex:1 1 0;min-width:0}.card{display:block;break-inside:avoid;margin-bottom:1.1rem;background:var(--card-bg);border-radius:10px;padding:1.1rem;box-shadow:0 1px 3px #0000000f}.card-tags{border-left:3px solid #ccc;padding-left:.6rem;font-size:.85rem;color:var(--muted);line-height:1.5}.card-tags a{color:var(--muted);text-decoration:none}.card-tags a:hover{text-decoration:underline}.card-date{font-family:Georgia,serif;font-style:italic;font-size:.8rem;color:var(--muted);letter-spacing:.06em;margin:.7rem 0 0 .75rem}.card-date a{color:var(--muted);text-decoration:none}.card-images{columns:2;column-gap:.5rem;margin-top:.9rem}.card-images.single{columns:1}.card-images a{display:block;break-inside:avoid;margin-bottom:.5rem;cursor:zoom-in}.card-images img{display:block;border-radius:4px;width:100%;height:auto}.lightbox{position:fixed;inset:0;z-index:100;background:#000000ed;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.lightbox[hidden]{display:none}.lightbox img{max-width:96vw;max-height:96vh;width:auto;height:auto}.lightbox button{position:absolute;width:44px;height:44px;border:none;border-radius:50%;background:#ffffff24;color:#fff;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.lightbox button:hover{background:#ffffff47}.lb-close{top:1rem;right:1rem}.lb-prev,.lb-next{top:50%;transform:translateY(-50%)}.lb-prev{left:1rem}.lb-next{right:1rem}.masonry[data-js] .card{animation:card-in .45s ease backwards}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.masonry[data-js] .card{animation:none}}.masonry-sentinel{height:1px}.card-body{font-size:.95rem;line-height:1.55}.card-body a{word-break:break-all}.card-body blockquote{margin:.8rem 0;padding-left:.8rem;border-left:3px solid #ddd;color:#555}.post-single{max-width:760px;margin:0 auto}.post-single .card-images img{flex-basis:100%}.page-title{font-size:2.6rem;font-weight:700;margin:.5rem 0 1.5rem}.page-title small{font-size:1rem;font-weight:400;color:var(--muted);margin-left:.6rem}.tag-cloud-wrap{background:var(--card-bg);border-radius:10px;padding:2rem;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:1.2rem;row-gap:.5rem}.tag-cloud-wrap a{text-decoration:none;color:#555;white-space:nowrap}.tag-cloud-wrap a:hover{color:#000;text-decoration:underline}.category-list{margin-top:2rem;background:var(--card-bg);border-radius:10px;padding:1.2rem 2rem}.category-list h2{font-size:1.1rem}.category-list ul{list-style:none;margin:0;padding:0}.category-list li{border-bottom:1px solid #eee}.category-list li:last-child{border-bottom:none}.category-list a{display:block;padding:.7rem 0;text-decoration:none}.category-list a:hover{text-decoration:underline}@media(max-width:700px){.site-header{grid-template-columns:1fr;justify-items:center;padding-bottom:.9rem}.site-nav{order:2}main{padding:1rem .8rem 3rem}}
