/* Editorial shelves: two complete cards and a half-card invitation to browse. */
.wsh-blog{max-width:1200px;margin:0 auto 88px;padding-top:8px}
.wsh-blog-intro{margin-bottom:42px}
.wsh-blog-intro h2{font-size:38px;line-height:1.2;font-weight:550;letter-spacing:-1.4px}
.wsh-blog-intro>p:last-child{margin-top:14px;color:var(--wsh-muted);font-size:14px;letter-spacing:-.2px}
.wsh-blog-row+.wsh-blog-row{margin-top:58px}
.wsh-blog-row-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}
.wsh-blog-row-head h3{font-size:23px;line-height:1.3;font-weight:550;letter-spacing:-.7px}
.wsh-blog-actions{display:flex;align-items:center;gap:8px}
.wsh-blog-all{font-size:12px;margin-right:12px;padding:10px 2px;color:var(--wsh-muted)!important}
.wsh-blog-all span{margin-left:6px}
.wsh-app .wsh-blog-arrow{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--wsh-line);border-radius:50%;background:var(--wsh-surface);color:var(--wsh-ink);font-size:20px;line-height:1}
.wsh-app .wsh-blog-arrow:hover:not(:disabled),.wsh-app .wsh-blog-more:hover{background:var(--wsh-soft);border-color:var(--wsh-border)}
.wsh-app .wsh-blog-arrow:disabled{opacity:.28;cursor:default}
.wsh-blog-track{--blog-gap:24px;display:flex;gap:var(--blog-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;list-style:none!important;padding:4px 0 14px!important;margin:0!important;scrollbar-width:none;-webkit-overflow-scrolling:touch;direction:ltr}
.wsh-blog-track::-webkit-scrollbar{display:none}
.wsh-blog-track.is-sliding{scroll-snap-type:none}
.wsh-blog-track:focus-visible{outline:2px solid var(--wsh-accent);outline-offset:4px;border-radius:16px}
.wsh-post{flex:0 0 calc((100% - 2 * var(--blog-gap)) / 2.5);min-width:0;list-style:none!important;margin:0!important;padding:0!important;scroll-snap-align:start}
.wsh-post-link{display:flex;flex-direction:column;height:100%;border:1px solid var(--wsh-line);border-radius:19px;overflow:hidden;background:var(--wsh-surface)}
.wsh-app .wsh-post-link:hover{background:var(--wsh-soft);border-color:var(--wsh-border)}
.wsh-post-image{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--wsh-soft)}
.wsh-post-image>img{display:block;width:100%;height:100%;object-fit:cover;margin:0;border:0;transition:transform .55s ease}
.wsh-post-link:hover .wsh-post-image>img{transform:scale(1.035)}
.wsh-post-placeholder{display:grid;place-items:center;position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,#a99ad326,transparent 65%);color:var(--wsh-accent)}
.wsh-post-placeholder svg{width:25%;height:40%;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;opacity:.6;transform:rotate(-8deg)}
[data-group=image] .wsh-post-placeholder{background:radial-gradient(ellipse at 30% 20%,#88ae9b30,transparent 65%)}
[data-group=file] .wsh-post-placeholder{background:radial-gradient(ellipse at 30% 20%,#a8bdd830,transparent 65%)}
.wsh-post-badge{position:absolute;left:16px;top:16px;padding:5px 10px;border-radius:100px;background:var(--wsh-surface);color:var(--wsh-ink);font-size:10px;line-height:1.4;font-weight:550}
.wsh-post-copy{display:flex;flex-direction:column;flex:1;padding:23px 24px 22px}
.wsh-post-copy time{color:var(--wsh-muted);font-size:11px;letter-spacing:0}
.wsh-app .wsh-post-copy h4{font:550 21px/1.35 Inter,sans-serif;letter-spacing:-.6px;margin:11px 0 10px;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wsh-post-copy p{font-size:12px;line-height:1.8;color:var(--wsh-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wsh-post-read{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:550;color:var(--wsh-ink);padding-top:25px;margin-top:auto}
.wsh-post-read span{font-size:19px;font-weight:400;color:var(--wsh-muted)}
.wsh-blog-row-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:24px}
.wsh-blog-status{font-size:11px;color:var(--wsh-muted)}
.wsh-app .wsh-blog-more{border:1px solid var(--wsh-line);border-radius:100px;background:var(--wsh-surface);color:var(--wsh-ink);padding:9px 15px;font-size:11px;white-space:nowrap;min-height:40px}
.wsh-blog-empty{padding:34px 22px;background:var(--wsh-soft);border-radius:16px;color:var(--wsh-muted);font-size:13px}
@media(max-width:800px){.wsh-blog{margin-bottom:64px}.wsh-blog-track{--blog-gap:16px}.wsh-post-copy{padding:17px}.wsh-app .wsh-post-copy h4{font-size:17px}.wsh-post-read{padding-top:18px}}
@media(max-width:480px){.wsh-blog{margin-bottom:48px}.wsh-blog-intro{margin-bottom:29px}.wsh-blog-intro h2{font-size:30px}.wsh-blog-intro>p:last-child{font-size:12px;max-width:270px;line-height:1.7}.wsh-blog-row+.wsh-blog-row{margin-top:36px}.wsh-blog-row-head{margin-bottom:13px}.wsh-blog-row-head h3{font-size:20px}.wsh-blog-track{--blog-gap:10px}.wsh-blog-actions{gap:6px}.wsh-blog-all{font-size:11px;margin-right:5px}.wsh-app .wsh-blog-arrow{width:38px;height:38px;font-size:18px}.wsh-post-link{border-radius:13px}.wsh-post-badge{top:9px;left:9px;padding:3px 7px;font-size:9px}.wsh-post-copy{padding:12px 10px}.wsh-post-copy time{font-size:9px}.wsh-app .wsh-post-copy h4{font-size:13px;line-height:1.5;letter-spacing:-.25px;margin:8px 0}.wsh-post-copy p{display:none}.wsh-post-read{font-size:10px;padding-top:10px}.wsh-post-read span{font-size:16px}.wsh-blog-status{font-size:10px}}
@media(prefers-reduced-motion:reduce){.wsh-post-image>img{transition:none}.wsh-post-link:hover .wsh-post-image>img{transform:none}}
