/* portfolio / works (portfolio_view.py) */
.wgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.wgrid.all{grid-template-columns:repeat(5,minmax(0,1fr))}
.wgrid.collapsed>.wtile:nth-child(n+9){display:none}
.wtile{margin:0;position:relative}
.wbtn{display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--cream);cursor:zoom-in}
.wbtn img{aspect-ratio:1;object-fit:cover;transition:transform .35s}
.wbtn:hover img{transform:scale(1.04)}
.wcap{display:block;margin-top:6px;font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wcap:hover{color:var(--ink);text-decoration:underline}
.wmore{display:flex;justify-content:center;margin-top:18px}
.pworks{padding-top:10px}
.lb{position:fixed;inset:0;z-index:90;background:rgba(18,16,14,.92);display:flex;align-items:center;justify-content:center;padding:56px 64px}
.lb img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:12px;object-fit:contain}
.lb button{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;width:48px;height:48px;border-radius:50%;font-size:26px;cursor:pointer}
.lb .x{top:14px;right:14px}.lb .pv{left:12px;top:50%;transform:translateY(-50%)}.lb .nx{right:12px;top:50%;transform:translateY(-50%)}
.lb .ct{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#ddd;font-size:14px}
@media (max-width:900px){.wgrid,.wgrid.all{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.wgrid,.wgrid.all{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lb{padding:56px 8px}.lb .pv,.lb .nx{top:auto;bottom:8px;transform:none}}
@media (max-width:900px){.links a{white-space:nowrap;flex:none}.links{scrollbar-width:none}}
