/* Works are shown as an editorial shelf: one image earns the first read,
   while metadata stays quiet enough for the work itself to lead. */
.lt-showcase { --lt-ink:#24262b; --lt-muted:#72737b; --lt-rule:#dfdee0; --lt-panel:#fff; --lt-accent:#835866; --lt-paper:#f7f6f2; width:100%; max-width:1180px; min-width:0; margin:54px auto 64px; color:var(--lt-ink); }
.lt-showcase-header { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.lt-showcase-header h2 { margin-top:7px; font-size:clamp(26px,3vw,37px); line-height:1.25; letter-spacing:0; font-weight:620; text-wrap:balance; }
.lt-showcase-header p:last-child { max-width:540px; margin-top:8px; color:var(--lt-muted); font-size:14px; line-height:1.75; }
.lt-showcase-kicker { color:var(--lt-accent); font-size:11px; font-weight:650; letter-spacing:0; line-height:1.5; }
.lt-showcase-count { flex-shrink:0; color:var(--lt-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.lt-showcase-featured { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:28px; align-items:stretch; padding-bottom:30px; border-bottom:1px solid var(--lt-rule); }
.lt-featured-visual,.lt-work-open { display:block; width:100%; padding:0; border:0; color:inherit; background:transparent; text-align:left; cursor:pointer; touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
.lt-featured-media,.lt-work-media { position:relative; display:block; overflow:hidden; aspect-ratio:var(--lt-ratio,16 / 9); background:#e7e6e3; }
.lt-featured-media { aspect-ratio:16 / 10; border-radius:3px; }
.lt-featured-cover,.lt-work-cover { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease,filter .35s ease; }
.lt-featured-play { position:absolute; right:18px; bottom:17px; padding:8px 11px; border:1px solid #ffffff80; border-radius:2px; color:#fff; background:#13151aaa; font-size:11px; }
.lt-featured-copy { display:flex; flex-direction:column; justify-content:flex-end; min-width:0; padding:7px 4px 4px 0; }
.lt-featured-copy h3 { margin-top:9px; font-family:'Songti SC','Noto Serif CJK SC',serif; font-size:clamp(24px,3vw,36px); font-weight:500; line-height:1.25; letter-spacing:0; text-wrap:balance; }
.lt-featured-description { max-width:350px; margin-top:15px; color:var(--lt-muted); font-size:14px; line-height:1.8; }
.lt-featured-meta,.lt-work-meta { display:flex; flex-wrap:wrap; gap:7px 13px; margin-top:21px; color:var(--lt-muted); font-size:11px; line-height:1.5; }
.lt-featured-meta span+span:before,.lt-work-meta span+span:before { content:'·'; margin-right:13px; color:#bbb7ba; }
.lt-text-action { display:inline-flex; align-items:center; gap:8px; align-self:flex-start; min-height:44px; margin-top:28px; padding:9px 0; border:0; border-bottom:1px solid currentColor; color:var(--lt-accent); background:transparent; font-size:13px; cursor:pointer; touch-action:manipulation; }
.lt-text-action span { font-size:16px; }
.lt-library-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:31px; }
.lt-library-head h3 { font-size:19px; font-weight:600; letter-spacing:0; }
.lt-showcase-filters { display:flex; gap:7px; max-width:76%; overflow-x:auto; overscroll-behavior-x:contain; scroll-padding-inline:3px; scrollbar-width:none; }
.lt-showcase-filters::-webkit-scrollbar { display:none; }
.lt-filter { min-height:40px; padding:8px 13px; border:1px solid var(--lt-rule); border-radius:999px; color:var(--lt-muted); background:transparent; font-size:12px; white-space:nowrap; cursor:pointer; touch-action:manipulation; }
.lt-filter.is-active { border-color:var(--lt-accent); color:var(--lt-accent); background:#f3ecee; }
.lt-library-result { min-height:19px; margin-top:12px; color:var(--lt-muted); font-size:11px; }
.lt-work-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:25px 17px; margin-top:13px; }
.lt-work-card,.lt-work-card--wide { grid-column:span 4; min-width:0; }
.lt-work-media { aspect-ratio:var(--lt-ratio,4 / 5); border-radius:2px; border:1px solid var(--lt-rule); background:#e7e6e3; }
.lt-work-type { position:absolute; top:9px; left:10px; padding:4px 6px; border-radius:2px; color:#fff; background:#1a1b1dbd; font-size:9px; line-height:1.2; }
.lt-work-play { position:absolute; right:10px; bottom:9px; display:grid; place-items:center; width:28px; height:28px; border:1px solid #fff9; border-radius:50%; color:#fff; background:#16181ab8; font-size:10px; }
.lt-work-copy { display:block; min-width:0; padding:10px 2px 0; }
.lt-work-copy strong { display:block; overflow:hidden; color:var(--lt-ink); font-size:14px; font-weight:600; line-height:1.5; text-overflow:ellipsis; white-space:nowrap; }
.lt-work-copy small { display:block; margin-top:3px; color:var(--lt-muted); font-size:11px; line-height:1.6; }
.lt-work-meta { margin-top:6px; font-size:10px; }
.lt-work-meta span+span:before { margin-right:8px; }
.lt-showcase-empty { display:grid; place-items:center; min-height:180px; padding:30px; border:1px dashed var(--lt-rule); color:var(--lt-muted); text-align:center; }
.lt-showcase-empty strong { color:var(--lt-ink); font-size:15px; }
.lt-showcase-empty span { margin-top:6px; font-size:12px; }
.lt-grid-empty { grid-column:1 / -1; display:grid; place-items:center; min-height:150px; padding:24px; border-top:1px solid var(--lt-rule); color:var(--lt-muted); text-align:center; }
.lt-grid-empty strong { color:var(--lt-ink); font-size:14px; }
.lt-grid-empty span { margin-top:4px; font-size:11px; }
.lt-showcase-dialog { width:min(1080px,calc(100vw - 36px)); max-width:none; max-height:calc(100dvh - 36px); overflow:hidden; padding:0; border:1px solid var(--lt-rule); border-radius:4px; color:var(--lt-ink); background:var(--lt-panel); box-shadow:0 24px 80px #10101526; overscroll-behavior:contain; }
.lt-showcase-dialog::backdrop { background:#11131a80; backdrop-filter:blur(5px); }
.lt-dialog-shell { max-height:calc(100dvh - 36px); overflow:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
.lt-dialog-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; min-height:56px; padding:0 20px; border-bottom:1px solid var(--lt-rule); background:var(--lt-panel); }
.lt-dialog-context { color:var(--lt-muted); font-size:11px; }
.lt-dialog-close { display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:50%; color:var(--lt-ink); background:transparent; font-size:25px; line-height:1; cursor:pointer; touch-action:manipulation; }
.lt-detail-layout { display:grid; grid-template-columns:minmax(0,1.28fr) minmax(230px,.72fr); gap:30px; padding:22px 24px 18px; }
.lt-detail-stage { min-width:0; }
.lt-detail-media { width:100%; max-height:70dvh; overflow:hidden; aspect-ratio:var(--lt-ratio,16 / 9); background:#111; }
.lt-detail-media img,.lt-detail-media video { display:block; width:100%; height:100%; object-fit:contain; }
.lt-detail-status { margin-top:8px; color:var(--lt-muted); font-size:10px; }
.lt-detail-copy { align-self:end; min-width:0; padding-bottom:4px; }
.lt-detail-copy h2 { margin-top:8px; font-family:'Songti SC','Noto Serif CJK SC',serif; font-size:31px; font-weight:500; line-height:1.25; letter-spacing:0; text-wrap:balance; }
.lt-detail-description { margin-top:13px; color:var(--lt-muted); font-size:13px; line-height:1.8; }
.lt-detail-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 15px; margin-top:22px; padding-top:16px; border-top:1px solid var(--lt-rule); }
.lt-detail-specs dt { color:var(--lt-muted); font-size:10px; }
.lt-detail-specs dd { margin-top:3px; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.lt-media-note { display:block; margin-top:20px; color:var(--lt-accent); font-size:11px; line-height:1.6; }
.lt-detail-frames { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:0; padding:0 24px 24px; list-style:none; }
.lt-frame-item { min-width:0; }
.lt-frame-thumb { display:block; width:100%; min-width:0; min-height:44px; padding:0; border:1px solid var(--lt-rule); border-radius:2px; overflow:hidden; color:var(--lt-ink); background:transparent; text-align:left; cursor:pointer; touch-action:manipulation; }
.lt-frame-thumb:not(button) { cursor:default; }
.lt-frame-thumb.is-active { border-color:var(--lt-accent); box-shadow:0 0 0 1px var(--lt-accent); }
.lt-frame-thumb img { display:block; width:100%; aspect-ratio:16 / 9; object-fit:cover; }
.lt-frame-thumb span { display:block; padding:7px 8px 8px; }
.lt-frame-thumb strong { display:block; overflow:hidden; font-size:11px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.lt-frame-thumb small { display:block; overflow:hidden; margin-top:2px; color:var(--lt-muted); font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.lt-featured-visual:focus-visible,.lt-work-open:focus-visible,.lt-text-action:focus-visible,.lt-filter:focus-visible,.lt-dialog-close:focus-visible,.lt-frame-thumb:focus-visible { outline:2px solid var(--lt-accent); outline-offset:3px; }
.lt-showcase--drama { --lt-ink:#e7e9ed; --lt-muted:#9299a5; --lt-rule:#2a3038; --lt-panel:#171a20; --lt-accent:#e5a25e; --lt-paper:#0d1014; margin-top:44px; }
.lt-showcase--drama .lt-showcase-header h2,.lt-showcase--drama .lt-work-copy strong { color:var(--lt-ink); }
.lt-showcase--drama .lt-showcase-count,.lt-showcase--drama .lt-library-result { color:var(--lt-muted); }
.lt-showcase--drama .lt-work-media { border-color:var(--lt-rule); background:#111419; }
.lt-showcase--drama .lt-filter.is-active { color:#16130f; background:var(--lt-accent); border-color:var(--lt-accent); }
.lt-showcase--drama .lt-work-type { background:#101319d9; }
.lt-showcase--drama .lt-showcase-dialog { border-color:#343a43; }
.lt-showcase--drama .lt-dialog-close:hover { background:#ffffff0b; }
.lt-showcase--drama .lt-detail-media { background:#090b0e; }
.lt-showcase--drama .lt-featured-media { border:1px solid var(--lt-rule); }

@media (max-width:900px) {
  .lt-showcase-featured { grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr); gap:21px; }
  .lt-work-grid { gap:21px 13px; }
  .lt-detail-layout { gap:22px; }
}
@media (max-width:700px) {
  .lt-showcase { margin:38px auto 48px; }
  .lt-showcase-header { align-items:flex-start; gap:12px; }
  .lt-showcase-header h2 { font-size:27px; }
  .lt-showcase-header p:last-child { font-size:12px; }
  .lt-showcase-count { margin-top:5px; }
  .lt-showcase-featured { display:flex; flex-direction:column; gap:16px; padding-bottom:24px; }
  .lt-featured-media { aspect-ratio:var(--lt-ratio,16 / 9); }
  .lt-featured-copy { padding:0; }
  .lt-featured-copy h3 { font-size:27px; }
  .lt-featured-description { margin-top:9px; font-size:13px; }
  .lt-featured-meta { margin-top:13px; }
  .lt-text-action { margin-top:17px; }
  .lt-library-head { display:block; margin-top:24px; }
  .lt-showcase-filters { max-width:none; margin-top:13px; padding:3px 3px 6px; scroll-snap-type:x proximity; }
  .lt-filter { min-height:44px; scroll-snap-align:start; }
  .lt-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 11px; }
  .lt-work-card,.lt-work-card--wide { grid-column:span 1; }
  .lt-work-copy { padding-top:8px; }
  .lt-work-copy strong { font-size:13px; }
  .lt-work-meta { display:none; }
  .lt-showcase-dialog { width:calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)); max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
  .lt-dialog-shell { max-height:calc(100dvh - 20px); }
  .lt-dialog-head { min-height:51px; padding:0 14px; }
  .lt-detail-layout { display:flex; flex-direction:column; gap:17px; padding:14px 14px 16px; }
  .lt-detail-media { max-height:66dvh; }
  .lt-detail-copy { padding:0; }
  .lt-detail-copy h2 { font-size:26px; }
  .lt-detail-description { margin-top:9px; font-size:12px; }
  .lt-detail-specs { margin-top:15px; padding-top:13px; }
  .lt-media-note { margin-top:14px; }
  .lt-detail-frames { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding:0 14px 15px; }
}
@media (max-width:500px) {
  .lt-showcase-header { display:block; }
  .lt-showcase-count { display:block; margin-top:9px; }
}
@media (hover:hover) {
  .lt-featured-visual:hover .lt-featured-cover,.lt-work-open:hover .lt-work-cover { transform:scale(1.018); filter:saturate(1.04); }
  .lt-filter:hover { border-color:#bba5ac; color:var(--lt-accent); }
  .lt-dialog-close:hover { background:#00000008; }
  .lt-showcase--drama .lt-filter:hover { border-color:#a17c56; color:#f2c489; }
  .lt-showcase--drama .lt-dialog-close:hover { background:#ffffff0b; }
}
@media (prefers-reduced-motion:reduce) {
  .lt-featured-cover,.lt-work-cover { transition:none; }
}

/* Give portrait scenes their full composition rather than cropping the subject. */
.lt-showcase--drama .lt-showcase-featured { grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:38px; }
.lt-showcase--drama .lt-featured-media { aspect-ratio:var(--lt-ratio,4 / 5); max-height:500px; background:#090b0e; }
.lt-featured-cover { object-fit:contain; }
.lt-detail-modes { display:flex; gap:8px; padding:18px 24px 0; }
.lt-detail-modes button { min-height:44px; padding:9px 16px; border:1px solid var(--lt-rule); border-radius:999px; color:var(--lt-muted); background:transparent; cursor:pointer; }
.lt-detail-modes button[aria-pressed="true"] { color:var(--lt-panel); background:var(--lt-ink); border-color:var(--lt-ink); }
.lt-detail-modes button:focus-visible { outline:2px solid var(--lt-accent); outline-offset:3px; }
.lt-frame-thumb img { aspect-ratio:4 / 5; object-fit:contain; background:#101114; }
@media (max-width:700px) { .lt-showcase--drama .lt-showcase-featured { gap:16px; } .lt-showcase--drama .lt-featured-media { max-height:none; } .lt-detail-modes { padding:14px 14px 0; } }
