.hero-slideshow{position:absolute;inset:0;z-index:2;overflow:hidden}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity var(--hero-fade,.8s) ease;pointer-events:none}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide .hero-character{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.hero-fit-cover .hero-character{object-fit:cover}.hero-slide-controls[hidden]{display:none}.hero-slide-controls{position:absolute;z-index:4;bottom:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.hero-slide-dots{display:flex;flex-wrap:wrap;gap:2px}.hero-slide-dots button,.hero-slide-pause{min-width:36px;min-height:44px;background:#0b0c10db;border:1px solid #f2f2f566;color:#f2f2f5;font:10px var(--mono);padding:6px}.hero-slide-dots button[aria-pressed=true]{background:var(--red);border-color:#fff}.hero-slide-pause{padding-inline:12px}.hero-slideshow.is-failed{display:grid;place-items:center;color:var(--accent-soft);font-size:90px;font-weight:900}.hero-slideshow.is-failed::before{content:'F.'}
.works-page{max-width:var(--width)}.entry-content .works-gallery{max-width:none}.works-demo-notice{font-size:12px!important;color:var(--accent-soft);padding:15px 20px;background:var(--panel);border-left:3px solid var(--red);margin-bottom:28px!important}.works-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start}.works-grid>.work-card{margin:0!important;min-width:0;background:var(--panel);border:1px solid var(--line);padding:0 0 20px;position:relative}.work-card[hidden]{display:none!important}.work-thumbnail{margin:0!important;aspect-ratio:4/3;overflow:hidden;background:var(--panel-light)}.work-thumbnail a{display:block;width:100%;height:100%}.work-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}.work-thumbnail:hover img{transform:scale(1.04)}.work-card .work-category{font:10px/1.8 var(--mono);color:var(--accent-soft);margin:18px 18px 10px!important}.work-card .work-title{font-size:16px!important;line-height:1.7;margin:0 18px 14px!important}.work-details{font-size:12px;margin:0 18px!important}.work-details summary{cursor:pointer;min-height:44px;display:list-item;padding-block:10px;color:var(--muted)}.work-details[open]{margin-bottom:10px!important}.work-detail-body{font-size:14px;line-height:2}.work-detail-body p{margin-bottom:20px}.works-pagination{text-align:center;margin-top:36px}.works-more[hidden]{display:none}.works-count{color:var(--muted);font-size:11px!important;min-height:20px;margin:16px 0!important}
.work-dialog{color:var(--text);background:var(--bg);border:1px solid var(--accent-line);padding:0;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto}.work-dialog::backdrop{background:#05060bdc}.work-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;position:sticky;top:0;z-index:2;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 22px}.work-dialog-bar p{font:10px var(--mono);color:var(--accent-soft);margin:0}.work-dialog-close{border:1px solid var(--line);background:var(--panel);color:var(--text);min-width:80px;min-height:44px;font-size:12px}.work-dialog-content{padding:28px}.work-dialog-content>img{display:block;width:100%;max-height:300px;object-fit:contain;background:var(--panel);margin-bottom:26px}.work-dialog h3{font-size:25px;margin-bottom:25px}.work-dialog a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:4px}.work-dialog p{overflow-wrap:anywhere}.work-dialog .work-detail-body{max-width:none}.work-dialog .work-detail-body strong{color:var(--muted);font-size:11px;letter-spacing:.05em}
@media(min-width:641px) and (max-width:1000px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.works-grid{grid-template-columns:1fr;gap:24px}.work-thumbnail{aspect-ratio:16/10}.work-card .work-title{font-size:19px!important}.work-dialog-content{padding:20px}.work-dialog h3{font-size:22px}.hero-slide-controls{bottom:8px;left:8px;right:8px}.hero-slide-dots button{min-width:32px}.hero-slide-pause{padding-inline:8px}}
.hero-slideshow.is-failed .hero-slide{display:none}
body.lab-work-modal-open{overflow:hidden}.work-dialog{overscroll-behavior:contain}
@media(prefers-reduced-motion:reduce){.hero-slide,.work-thumbnail img{transition:none}}
